#include <iostream>
#include "myclass.h"
using namespace std;
char * _strcat(char* pszStrA,char * pszStrB);
template<typename T>
class Tree
{
public:
bool deleteElement(const int& element);
};
template<>
bool Tree<int> ::deleteElement(const int& element) //用基本类型就过,用自定义类型就挂
{
return false;
}
int main()
{
//myclass my;
int iNum =5;
Tree<int> a;
a.deleteElement(iNum);
return 0;
}
给类模板做成员函数特例的时候,碰到这个问题,我的编译器是vs2008,
模板特例里只要写我自定义的类,就会报错("public: bool __thiscall Tree<int>::deleteElement(int const &)" (?deleteElement@?$Tree@H@@QAE_NABH@Z),该符号在函数 _main 中被引用)
只要写基本类型,就没有问题!
同样的代码,写在6.0里面却是可以编译通过的!
因此我估计是vs2008的问题,但不知道在哪里设置,往高手帮助一下!