Итак, у меня есть этот класс:
class Movie
{
std::string name;
std::string rating;
size_t watched;
static std::vector<std::string> vec;
public:
Movie(std::string name, std::string rating, size_t watched)
{
this->name = name;
this->rating = rating;
this->watched = watched;
std::cout << "Created movie " << this->name << std::endl;
--> //vec.push_back(this->name);
}
static void dispAll() {
--> //std::cout << "There are " << vec.size() << " movies: " << std::endl;
--> //for(auto movie: vec){
//cout << "Movie: " << movie.name << endl;
//}
}
};
И это мое основное:
int main(){
Movie::dispNum();
Movie saw("saw","PG-13",10);
Movie::dispNum();
return 0;
}
Так что этот класс делает то, что он просто позволяет пользователю создать Mov ie с этим синтаксисом Movie("name","rating",watched_count)
этот класс также содержит вектор stati c и добавляет к нему имя mov ie, созданного в конструкторе, после чего пользователь может получить доступ к функции dispNum, которая возвращает размер вектора по сути, показывает количество фильмов, а затем перебирает вектор для отображения каждого движения ie, теперь, когда я пытаюсь получить доступ к этому вектору в строках со стрелкой -->
, я получаю ошибку компоновщика main.cpp:(.text._ZN5MovieC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_m[_ZN5MovieC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_m]+0xce): undefined reference to 'Movie::vec[abi:cxx11]'
.
Есть идеи, что тут может быть не так?
Заранее спасибо.