3
私はAnimalクラスを持っています。 DiffClass
は、Animal
クラスへのポインタを持っています。 new
の代わりにstd::vector
を正しく使用する方法を工夫しています。つまり、自分でメモリを削除する必要はありません。なぜベクトルがAnimal
クラスの関数を認識しないのか分かりません。どんな手掛かり?C++ポインタの新しくなった標準::ベクトル
class Animal
{
void display(); //displays one animal
}
class DiffClass
{
public:
void someFunctionToSetUpVector()
{
AnimalPointer = new std::vector<Animal>;
for (int i = 0; i <AnimalPointer.size(); i++)
{
AnimalPointer[i].display(); // does not work, can't find function
}
}
private:
std::vector<Animal>* AnimalPointer = 0;
}
このコードは、おそらくこれまで任意のC++コンパイラによって、コンパイルさでした方法はありません、
vector
へのポインタを使用する必要はありません。恐ろしいコンパイルエラーはあまりにも明白です。信じられないコードを投稿してください。 –@SamVarshavchik:彼はコンパイラのエラーについて質問しています。 –