次のようなコンパイルを試みると、タイトルにエラーメッセージが表示されます。クラスstd :: vector <Object>には 'x'という名前のメンバーはありません
class Object{
public:
Object(){
//Something
}
void x(){
//Something
}
}
void function(std::vector<Object>* things){
int someNumber;
//Some algorithm to get the value of someNumber.
things->resize(someNumber);
for(int i=0;i<someNumber;i++){
things[i].x();
}
}
int main(){
vector<Object> things;
function(&things);
return 0;
}
何が問題の原因になりますか?
** - 1 **これは**ありません実際のコード**。再現可能な例がないと投票しました。つまり、メンバー関数 'x'を' o.x'と呼ぶことはできません。 –
'things'はポインタです。 'std :: vector
大変申し訳ございません。私は 'things [i] .x()'と書くことを意図していました。 – Letokteren