模板特化的问题
template<typename T>
static T TRect2DDist(T pos0, T pos1)
{
T dist = pos1 - pos0;
return (dist>=0)? dist+1 : -dist+1;
}
template<> static double TRect2DDist(double pos0, double pos1);
template<> float TRect2DDist(float pos0, float pos1);
template<> double TRect2DDist(double pos0, double pos1)
{
double dist = pos1 - pos0;
return (dist>=0) ? dist : -dist;
}
template<> float TRect2DDist(float pos0, float pos1)
{
float dist = pos1 - pos0;
return (dist>=0) ? dist : -dist;
}
在VC8下面编译是通过的,但是如果把第二个static放到float前面的话,就提示float的这个函数有声明没有实现,
各位知道怎么会事的指点一下.
[解决办法]
我試過了, 沒問題....
[解决办法]
楼主用g++ 看看.
[解决办法]
很是诡异……
[解决办法]
不会 帮顶
[解决办法]
up