Неопределенная ссылка на конструктор

Я разработчик Java, экспериментирую с C++.

Я только что создал новый класс. В моем другом классе я хочу иметь список, в котором я могу хранить объекты фильтра.

Фильтр.ч

#ifndef FILTER_H_
#define FILTER_H_

class Filter {
public:
  Filter(int id);
  int id;
  ~Filter();

};

#endif /* FILTER_H_ */

Filter.cpp

#include "Filter.h"

Filter::Filter(int id) {
this.id = id;
}
Filter::~Filter() {
}

Автомобили.ч

#include "Filter.h"
...
...
private:
  std::vector<Filter> filters;

Автомобили.cpp

поэтому в функции здесь я пытаюсь сделать это:

int id = 2;
Filter *filter = new Filter(id);

которые вызывают эту ошибку:

Cars.cpp:120: undefined reference to `Filter::Filter(int)'
stl_construct.h:83: undefined reference to `Filter::~Filter()'

В чем причина этого?

6
задан Ole-M 3 August 2012 в 08:39
поделиться