使用MSVC可以使用此模板定义,但无法在GNU上编译。问题是什么? 编辑:我用C ++ 11选项编译它(使用mingw32)
#include <iostream>
using namespace std;
template <typename T>
const static size_t ALIGN_MASK = 64 / sizeof(T) - 1;
int main() {
// your code goes here
cout << ALIGN_MASK<double>;
return 0;
}
答案 0 :(得分:2)
变量模板是C ++ 14的一项功能。使用-std=c++14
进行编译以使用此版本的标准。
如果这不起作用,则必须升级编译器。如果这不是一个选项,请使用struct
代替static
成员。