在我的 c++ 程序中,我有自己的自定义地图,由自定义节点组成,我试图在其中获取“第一”和“第二”值(如 std::map)。我尝试了许多不同的语法,但无济于事。
我知道这个问题的通常解决方法是替换(*key_Iterator).first
为,(*key_Iterator)->first
但在这种情况下,我需要能够访问第一种方法中的值。
我在迭代器类中添加了变量,但程序无法识别它们。
template <class T, class P>
class Iterator {
public:
Node<T,P>* operator*() { return ptr_; }
private:
Node<T,P>* ptr_;
T first;
P second;
}
任何有关如何正确实施第一个版本和消除此错误的建议将不胜感激。