Motivé par le discussioncours Unnamed
La grammaire pour les classes de C est définie comme
class-key identifier *[opt]* base-clause *[opt]*
(Italique sont les miens)
Cela me signifie que le nom de la classe est l'option et nous pouvons avoir sans nom classes en C++.
Alors, est-ce que ce qui suit est bien formé?
struct X{
struct{
int x;
int y;
};
};
int main(){}
VS: error C2467: illegal declaration of anonymous 'struct'
Comeau online: error: declaration does not declare anything struct{
GCC(ideone): Compiles fine
Toute pensée?
travaille ici sous g ++ 4.4.4 – knittl
Fonctionne sous Borland C++ 5.6.4 (C++ Builder 6) –
fonctionne ici sous VS2010 –