Делаю двоичное дерево поиска, которое хранит функцию сравнения элементов cmp
. При попытке использовать ее во внутреннем классе iterator
меня информируют:
C2327: tree::cmp не является именем типа, статическим членом или перечислителем.
template <
/* code */
typename Compare = std::less<>
> class tree {
struct node;
using pointer = std::shared_ptr<node>;
/* code */
Compare cmp{};
class iterator {
pointer current;
void next_parent(pointer& leaf)
{
if (!leaf->parent)
return;
else if (cmp(leaf, leaf->parent)) // error
leaf = leaf->parent;
else
leaf = next_parent(leaf->parent);
}
public:
iterator& operator++()
{
if (current->right)
current = current->right;
else
next_parent(current);
return *this;
}
/* code */
};
/* code */
};
Как получить доступ к этой нестатической cmp
?
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
У меня программа при установке должна создавать локальную базу данных, для хранения настроек самой программыМне нужно где то сохранить,...
В tensorflow есть класс tensorflow::TensorДля них не реализована операция operator*
Искал тестирующие системы на C++, чтобы задачи вставлять на сайт и решать ихИ наткнулся на Sharif Judge