というクラスといくつかのインスタンス変数を持つクラスがあるとします。ask()
(整数を返します)。オブジェクトへのポインタのstd :: vectorの各要素の参照解除
std::vector<TextEntry*> d_text
(タイプTextEntry
のポインターのベクトル)タイプのベクトルを作成します。このベクトルのすべての要素を繰り返し処理し、各要素に適用されるメソッドask()
を呼び出したいと思います。これは正しい方法ですか?理由がなぜあるため、上記のコードや私のプロジェクトの残りの部分で他のいくつかの問題であるかどうかを知るために参考になるように、この実装は私にエラーを与えている何らかの理由
for (std::vector<TextEntry*>::iterator it = d_text.begin(); it != d_text.end(); ++it) {
TextEntry* TextEntryPointer = *it; // first dereference the iterator
TextEntry TextEntry = *TextEntryPointer; // dereference the TextEntry pointer
int j = TextEntry.ask();
}
。
"エラーが何であるかを知ることは役に立ちます" – krzaq
ポインタが邪魔にならないようにするには、 'TextEntryPointer-> ask()'を呼び出してください。 –
'ask( ) 'を使用すると、なぜあなたはその要素のコピーに対してそれを呼び出すのか自分自身に尋ねるべきです。 – juanchopanza