连接失败~!~何解?
为什么会连接出问题?编译全ok~!
//////////mb.h///////
#ifndef _mb
#define _mb
#include<iostream>
using namespace std;
template <class T>
class Compare
{public:
Compare(T a,T b);
T max();
T min();
private:
T x,y;
};
#endif
/////////////hs.cpp/////////
#include "mb.h"
template <class T>
Compare <T>::Compare(T a,T b)
{x=a;
y=b;
}
template <class T>
T Compare <T>::max()
{return (x>y)?x:y;
}
template <class T>
T Compare <T>::min()
{return (x<y)?x:y;
}
/////////main.cpp/////////
#include "mb.h"
int main()
{Compare<float> c1(3.2,5.3);
cout<<c1.max()<<c1.min();
return 0;
}
/////////////////////////////
连接时
ompiling...
hs.cpp
Linking...
main.obj : error LNK2001: unresolved external symbol "public: float __thiscall Compare<float>::max(void)" (?max@?$Compare@M@@QAEMXZ)
main.obj : error LNK2001: unresolved external symbol "public: float __thiscall Compare<float>::min(void)" (?min@?$Compare@M@@QAEMXZ)
main.obj : error LNK2001: unresolved external symbol "public: __thiscall Compare<float>::Compare<float>(float,float)" (??0?$Compare@M@@QAE@MM@Z)
Debug/第12题.exe : fatal error LNK1120: 3 unresolved externals
Error executing link.exe.
第12题.exe - 4 error(s), 0 warning(s)