【发布时间】:2013-11-22 14:55:24
【问题描述】:
代码会说话:
template<typename Group>
struct Vector3D {
Group x, y, z;
Vector3D(Group x, Group y, Group z) : x(x), y(y), z(z) {
}
template<int p> Group Norm() const;
};
template<typename Group> template<int p>
Group Vector3D<Group>::Norm() const {
return pow( pow(x, p) + pow(y, p) + pow(z, p), (1.0 / p) );
}
/*
template<typename Group> template<>
Group Vector3D<Group>::Norm<2>() const {
return sqrt( x * x + y * y + z * z );
}*/
注释块在vc11(vs2012)中编译失败
谁能帮忙指出部分特化 Norm 函数的正确方法是什么?
【问题讨论】:
标签: c++ templates template-specialization specialization