내가 alignas()
의 사용을 테스트하려는, 그래서 나는이 코드를 적어 : 나는 g와 함께 컴파일 할 때, 그러나`alignas (X)`이전에 primary-expression이 필요합니까?
#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);
}
를 ++ 컴파일러에서 오류를 출력 : "alignas(X)
전에 차 표현 예상". 누가 이것을 설명 할 수 있습니까? 나는 정확한 사용법을 모른다. alignas()
.
'버퍼'유형은 무엇입니까? –
나는 그것이'X'라고 생각한다. 이 코드는 The C++ Programming Language 제 4 판에 있습니다. –
내가 잘못 설명했을 수 있습니다. 9 번 줄의 어떤 부분이 '버퍼'의 유형을 지정합니까? 또한 필수 : GCC의 어떤 버전을 사용합니까? C++ 11 기능을 켜셨습니까? –