昆山cnc编程招聘:关于C++模版的一个问题

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/01 01:19:03
当我把模版类的定义与实现分别放在两个文件中时.h\.cpp中总是出错代码如下
MyStack.h
template<class T>
class MyStack
{
public:
MyStack(void);
~MyStack(void);

T value;
};

MyStack.cpp
#include ".\mystack.h"

template<class T>
MyStack<T>::MyStack<T>(void)
{
}
template<class T>
MyStack<T>::~MyStack<T>(void)
{
}

然后再Main函数中调用就发生错误了:
Main
#include "MyStack.h"
void main()
{
dataList<int> list;
list.setValue(10);
}
错误提示为这样L:
Main.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall MyStack<int>::~MyStack<int>(void)" (??1?$MyStack@H@@QAE@XZ) ,该符号在函数 _main 中被引用
Main.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall MyStack<int>::MyStack<int>(void)" (??0?$MyStack@H@@QAE@XZ) ,该符号在函数 _main 中被引用

不知为什么,深为捆牢阿
这个简单的程序没有需要DLL的阿,同时MyStack。cpp也添加到工程中了。

没有连接外部lib或者dll.~`

是不是MyStack.cpp文件没有添加到工程中?