compare.h :
// compare.h: interface for the compare class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_COMPARE_H__9D81058A_2E7E_4AE7_884F_3398DE38EF7C__INCLUDED_)
#define AFX_COMPARE_H__9D81058A_2E7E_4AE7_884F_3398DE38EF7C__INCLUDED_
#include<iostream>
using namespace std;
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
template<class numtype>
class compare
{
public:
compare(numtype a,numtype b){x=a;y=b;}
template<class numtype>
numtype max();
template<class numtype>
numtype min();
private:
numtype x,y;
};
#endif // !defined(AFX_COMPARE_H__9D81058A_2E7E_4AE7_884F_3398DE38EF7C__INCLUDED_)
compare.cpp :
// compare.cpp: implementation of the compare class.
//
//////////////////////////////////////////////////////////////////////
#include "compare.h"
#include<iostream>
using namespace std;
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
template<class numtype>
numtype compare<numtype>::max()
{
return (x>y)?x:y;
}
template<class numtype>
numtype compare<numtype>::min()
{
return (x<y)?x:y;
}
main.cpp :
#include "compare.h"
#include<iostream>
using namespace std;
int main()
{
compare<int>t(3,7);
cout<<"max="<<t.max()<<endl<<"min="<<t.min()<<endl;
return 0;
}
我点击一个函数 出现如下问题 好像是找不到我在compare.cpp中定义的max() min();
运行结果 执行exe时有如下错误:
Linking...
main.obj : error LNK2001: unresolved external symbol "public: int __thiscall compare<int>::max(void)" (?max@?$compare@H@@QAEHXZ)
main.obj : error LNK2001: unresolved external symbol "public: int __thiscall compare<int>::min(void)" (?min@?$compare@H@@QAEHXZ)
Debug/zuoye_6.exe : fatal error LNK1120: 2 unresolved externals
执行 link.exe 时出错.
zuoye_6.exe - 1 error(s), 0 warning(s)
执行生成.obj时无错误。
请高手帮忙 谢谢!