我有这个文件myfuncts.hpp
::
#ifndef FUNCTS_
#define FUNCTS_
namespace root {
namespace functs {
template <typename T>
class f1 {
public:
T r;
f1();
};
}
}
#endif
我有实现myfuncts.cpp
:
#include "myfuncts.hpp"
template <typename T>
root::functs::f1<T>::f1() { /* do somethng */ }
然后我有我的主要程序:
#include "impulses.hpp"
int main(int argc, char** argv);
int main(it argc, char** argv) {
root::functs::f1<double> f();
}
我编译它:
g++ main.cpp functs.cpp
得到了这个:
/tmp/ccrdJEQt.o: 在函数
main': main.cpp:(.text+0x53): undefined reference to
root::functs::f1::f1()' collect2: ld 返回 1 退出状态
我究竟做错了什么?