У меня есть небольшая проблема, пытаясь отсортировать вектор указателей.
Это то, что я сделал до сих пор:
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);
}
};
Мой меньший оператор работает, если я пишу вот так:
Node* root = new Node("abc");
Node* n = new Node("def");
cout << (*root<*n) << endl;
Почему сортировка никогда не вызывает оператора? Любая помощь будет оценена! Спасибо.
madshov