最近学 C++, 发现模板实现分开写.cpp 里 单独编译就不过,报错。 可能是必须要和调用者一起编译。
那问题来了, 模板类就不能封装出接口 和库 给别人用吗??
如果可以, 怎么封装? 老铁们, 救救我。
代码如下: #include"template.h"
using namespace std; int main() { int a = 3, b = 4; cout << Max(a, b) << endl; double c = 5.6, d = 4.8; cout << Max(c, d) << endl; return 0; }
// template1.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 //
template<typename t=""> T Max(T& t1, T& t2);</typename>
报错如下:1>template1.obj : error LNK2019: 无法解析的外部符号 "int __cdecl Max
1
anytk 2019-12-03 21:06:43 +08:00 via Android
模板是编译时的多态而已啊,必须要引用源文件才能使用,没办法以二进制库提供调用的。
PS:劝君早早从 C++弃坑吧,用 C 挺好的 |