我在尝试对指针向量进行排序时遇到了一些麻烦.
这是我到目前为止所做的:
class Node
{
private:
vector <Node*> _children;
string _data;
...
public:
void Node::add_child(Node* child)
{
...
sort(_children.begin(), _children.end());
}
bool Node::operator<(const Node& node)
{
return (this->_data.compare(node._data) == -1);
}
};
Run Code Online (Sandbox Code Playgroud)
如果我这样写的话,我的不足运算符就可以了:
Node* root = new Node("abc");
Node* n = new Node("def");
cout << (*root<*n) << endl;
Run Code Online (Sandbox Code Playgroud)
为什么排序从不打电话给操作员?任何帮助,将不胜感激!谢谢.
madshov