0
在我的C++程序中,我有自己的自定義映射組成的自定義節點,其中我試圖獲取「第一個」和「第二個「值(如std :: map)。我嘗試了許多不同的語法,但無濟於事。請求在「...」中的成員「...」是非類類型的「...」
我知道這個問題的常見修復方法是用替換(*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;
}
有關如何正確實施第一個版本和消除此錯誤的任何建議將不勝感激。
呃,你從'符*返回一個指針',所以當然你必須在返回值上使用' - >'語法...... – nneonneo 2013-04-11 22:05:25
(另外,它根本不清楚你實際要求的是什麼「在第一個方法中訪問值」?什麼是「第一個方法」?什麼值?) – nneonneo 2013-04-11 22:07:13
我自然發現 - >語法更有意義。但有了這個程序指導方針,我用(* itr).first提取了第一個值,我不知道爲什麼這個語法不起作用。 – 2013-04-11 22:07:51