c++类模板,将例题分开写,链接有问题
请问这个例子里的链接应该怎样修改? #include <iostream>#include <string>
#include "acheivement.cpp"
int main()
{
Stack<int> intStack(100);
intStack.push(1);
intStack.push(2);
intStack.push(3);
std::cout << intStack.pop() << "\n";
std::cout << intStack.pop() << "\n";
std::cout << intStack.pop() << "\n";
return 0;
}
使用类模板时需要将cpp文件中的内容写在头文件中,不能分开写;或者你可以将对应的方法实现写在main.cpp中
原因是:模板定义很特殊。由template<…>处理的任何东西都意味着编译器在当时不为它分配存储空间,它一直处于等待状态直到被一个模板实例告知。在编译器和连接器的某一处,有一机制能去掉指定模板的多重定义。所以为了容易使用,几乎总是在头文件中放置全部的模板声明和定义。 930552489 发表于 2022-3-14 21:05
使用类模板时需要将cpp文件中的内容写在头文件中,不能分开写;或者你可以将对应的方法实现写在main.cpp中
...
所以vs自带的也是#include <stack>,而不是头文件形式
930552489 发表于 2022-3-14 21:05
使用类模板时需要将cpp文件中的内容写在头文件中,不能分开写;或者你可以将对应的方法实现写在main.cpp中
...
感谢 jhq999 发表于 2022-3-14 21:29
所以vs自带的也是#include ,而不是头文件形式
了解了,非常感谢 {:5_95:} 今天学习的时候也遇到了这个问题
解决: https://cloud.tencent.com/developer/article/1796007
页:
[1]