我想测试使用alignas()
,所以我写下这些代码:
#include <vector>
using namespace std;
template<typename X>
void user(const vector<X>& vx)
{
constexpr int bufmax = 1024;
alignas(X) buffer[bufmax];
const int max = min(vx.size(), bufmax / sizeof(X));
uninitialized_copy(vx.begin(), vx.begin()+max, buffer);
}
但是,当我用 g++ 编译它时,编译器会输出一个错误:“expected primary-expression before alignas(X)
”。谁能解释一下?我不知道alignas()
.