samedi 31 janvier 2015

How to enable the _Generic keyword

I have this test source:



#include <stdio.h>

int main()
{
int x;

printf("x=%d\n", _Generic('x', int: 1, default: 0));
return 0;
}


Compiling with c++ 4.9.2 fails:



t.cpp: In function ‘int main()’:
t.cpp:7:33: error: expected primary-expression before ‘int’
printf("x=%d\n", _Generic('x', int: 1, default: 0));
^
t.cpp:7:41: error: expected primary-expression before ‘default’
printf("x=%d\n", _Generic('x', int: 1, default: 0));
^
t.cpp:7:51: error: ‘_Generic’ was not declared in this scope
printf("x=%d\n", _Generic('x', int: 1, default: 0));


The compiler arguments are:



c++ --std=c++11 t.cpp -o t


What am I doing wrong?


Aucun commentaire:

Enregistrer un commentaire