常量全局变量的模板

时间:2016-04-15 10:36:30

标签: c++ templates visual-c++

使用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;
}

1 个答案:

答案 0 :(得分:2)

变量模板是C ++ 14的一项功能。使用-std=c++14进行编译以使用此版本的标准。

如果这不起作用,则必须升级编译器。如果这不是一个选项,请使用struct代替static成员。