C++报错找不到实现
如题,现在同一个目录下有三个文件。
// test.h
#ifndef FILE_TEST_H
#define FILE_TEST_H
template <typename T> class test {
public:
int tt();
};
#endif //FILE_TEST_H
// test.cpp
#include "test.h"
template <typename T>
int test<T>::tt() {
return 123;
}
//main.cpp
#include <stdio.h>
#include "test.h"
int main()
{
test<int> t = test<int>();
printf("%d", t.tt());
}
为什么运行g++ main.cpp test.cpp
报错:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
模板的实现必须在编译期可见。把 test.cpp 里的内容放 test.h 里面去吧 ...