Я пытался создать функцию, которая может хранить векторы внутри вектора, а im имеет проблемы. Я сделал это для векторов int, но теперь я пытаюсь использовать объекты, чтобы заполнить его, и у меня возникли проблемы.Поместите вектор внутри вектора
это мой файл заголовка:
class Animal
{
public:
Animal();
~Animal();
Animal(int , int, std::string);
void setLength(int);
void setWeight(int);
void setLocation(std::string);
int getLength();
int getWeight();
std::string getLocation();
private:
int length_;
int weight_;
std::string location_;
};
это мой каст файл:
Animal::Animal(int length, int weight, std::string location) : length_(length), weight_(weight), location_(location)
{}
void Animal::setLength(int length){
length_ = length;
}
void Animal::setWeight(int weight){
weight_ = weight;
}
void Animal::setLocation(std::string location){
location_ = location;
}
int Animal::getLength(){
return length_;
}
int Animal::getWeight(){
return weight_;
}
std::string Animal::getLocation(){
return location_;
}
Animal::~Animal()
{
}
и вот мой главный:
int _tmain(int argc, _TCHAR* argv[])
{
Animal test;
int i = -1;
int d = -1;
std::vector<std::vector<Animal> >N;
std::vector<Animal>M;
std::vector<Animal>D;
while (i++ != 5)
{
M.push_back(test);
M[i].setLength(20);
M[i].setLocation("test");
M[i].setWeight(30);
}
N.push_back(M);
while (d++ != 5)
{
D.push_back(test);
D[i].setLength(111);
D[i].setLocation("test2");
D[i].setWeight(222);
}
N.push_back(D);
std::cout << N[0][4].getLength() << std::endl;
std::cout << N[1][4].getLength();
return 0;
}
Когда я пытаюсь построить я получаю две ошибки:
ошибка LNK2019: неразрешенный внешний символ "общественность: __thiscall животные :: животные (аннулируется)" (?? 0Animal @@ QAE @ XZ) ссылка в функции _wmain
И
ошибка LNK1120: 1 неразрешенные внешние
Может ли кто-нибудь из вас увидеть, что я сделал не так? И, возможно, у некоторых из вас есть лучшее решение моей проблемы.
У вас нет реализации конструктора по умолчанию «Animal». –
Вы забыли определить «Animal();'. Вы должны с тех пор, как вы это объявили. – NathanOliver
И это не имеет никакого отношения к векторам. – juanchopanza