私は、Student型のオブジェクトへのポインタを持つベクトルを反復しようとしています。 ベクトルの宣言は以下の通りである:とにかくstatic vector<Student*> students;
ベクトル反復子の使用に失敗しました、C++
、私は()関数pickWinnersでイテレータを使用しようとしています:
vector<Student*>::iterator p1 = students.begin();
vector<Student*>::iterator p2 = p1;
p2++;
私は理解しているように、P1は、学生へのポインタへのポインタです。私は、(例えば)これをしようとすると、しかし:
*p1->print();
私は次のエラーを取得:
Hire.cpp:192: error: request for member ‘print’ in ‘* p1.__gnu_cxx::__normal_iterator<_Iterator, _Container>::operator-> with _Iterator = Student**, _Container = std::vector >’, which is of non-class type ‘Student*’ make: * [Hire.o] Error 1
これは、私にはどんな意味がありません。私は問題がprint()にないことを知っています。 試しました
Student *student = students.at(0);
student->print();
すべてが完璧に機能しました。私はここでかなり無知だよ、どんなアイデア? ありがとう!
おお、そう愚か。ありがとう、toda – yotamoo