У меня есть класс Animal. DiffClass
, имеет указатели на класс Animal
. Я пытаюсь выяснить, как правильно использовать std::vector
вместо new
, так как это означает, что мне не нужно самостоятельно удалять память. Я не понимаю, почему вектор не распознает функцию в классе Animal
. Любая подсказка?C++ New up std :: вектор указателей
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++. Явная ошибка компиляции слишком очевидна. Пожалуйста, напишите реальный код, а не код. –
@SamVarshavchik: Он спрашивает о ошибке компилятора. –