【发布时间】:2015-05-12 16:37:23
【问题描述】:
我想知道为什么我不能在另一个类的范围内用 () 而不是 {} 初始化以下模板类的实例 (C++ 11) ?错误:数字常量之前的预期标识符
template <typename T>
class vec3 {
private:
T data[3];
public:
vec3 (T a, T b, T c);
};
template <typename T>
vec3<T>::vec3 (T a, T b, T c)
{
data[0] = a;
data[1] = b;
data[2] = c;
}
class whatever {
vec3 <float> a (1,2,3); // not ok
vec3 <float> b {1,2,3}; // ok
};
int main () {
vec3 <float> a (1,2,3); // ok
return 0;
}
【问题讨论】: