所以我刚刚通过编译器错误了解到,数组的类内初始化是无效的(为什么?)。现在我想在模板类中初始化一些数组,不幸的是内容依赖于模板参数。浓缩的测试用例如下所示:非整数静态数据的类初始化
template<typename T>
struct A {
T x;
static const int len = sizeof(T); // this is of course fine
static const int table[4] = { 0, len, 2*len, 3*len }; //this not
}
任何想法如何拉出恒定数组?
编辑:添加了'int's。
这不是有效的C++代码。你不能省略int(即使你的编译器显然将它视为默认值)。提示:调出错误/警告级别。 – 2009-10-05 08:09:23
该代码不被复制/粘贴,我只是键入它(看起来很快)在原来的我没有省略整数,谢谢 – hirschhornsalz 2009-10-05 10:20:53