Столкнулся с проблемой, как правильно разнести объявление и реализацию фунции между между заголовочным файлом .h и .cpp. Сейчас есть такая структура программы.
.h файл
namespace problem {
class_1 {}
class_2 {}
...
static std::vector<int> coord;
static void solve(double&x, double&y) {
//transform coord, use class_1, class_2;
}
}
в .сpр вынесена реализация всех классов. Когда выношу реализацию функции solve в .cpp, то получаю ошибку при вызове функции problem::solve(x, y) (вызов происходит в main.cpp):
undefined reference to `problem::solve(double&, double&)'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
Не могу разобраться в чём проблема.