1

私はc ++でベクトルを使用していますが、

vector<Agents> agentlist;

なぜこれが機能するのか、

(agentlist.begin() )->print();

そして、これはありませんか?

*(agentlist.begin() ).print();

を使用してイテレータを逆参照することは有効ではありません*か?

4

2 に答える 2

2

operator Precedence.を参照してください。*

*(agentlist.begin()).print();

次のように表します。

*((agentlist.begin()).print());

イテレータには.print()関数呼び出しがありませんが、コンパイラはコンパイル エラーをスローします。

必要なもの:

 agentlist.begin()->print();  or  (*agentlist.begin()).print();
于 2013-08-10T12:48:56.193 に答える
2

使ってみてください(*(agentlist.begin())).print();:)

于 2013-08-10T12:49:09.880 に答える