修改set 容器默认的输出顺序。该如何解决

修改set 容器默认的输出顺序。
在STL中文网站上看到的,一段话:
Specifying sort order
The other thing we can do when we create a set is specify the manner in which items are sorted. I could use string in this container also, but I've elected to use char * from here on instead. We are going to create a set with the same data as before, but sort it in reverse order through a functor as follows.

struct gtstr
{
  bool operator()(const char * s1, const char * s2) const
  {
  return (strcmp(s1, s2) > 0);
  }
};

now in our main function:

set<char gtstr*,> setString2;
setString2.insert("this");
setString2.insert("is");
setString2.insert("a");
setString2.insert("test");
setString2.insert("boys");
cout << endl << "setString2" << endl << endl;
copy(setString2.begin(), setString2.end(), ostream_iterator<char*>(cout, "\r\n"));

The output looks like this:
setString2
this
test
is
boys
a

As you can see, our policy has allowed the items to be sorted in reverse order. While this is a trivial case, user defined types will always require such a functor because no default sort order will be possible.

大意就是想改变set默认输出顺序吧,这里这句set<char gtstr*,> setString2;一直通不过。
我用DEV CPP编译的。。是他这个程序写得有问题还是咋的。。

------解决方案--------------------
set <char *, gtstr>
兄弟,基本功不过关啊,这么显然的东西也看不出来。