Bonjour à tous,

Je suis en train de faire un parser de code C++, et en implémentant la grammaire, je suis tombé sur ça :

Citation Envoyé par Standard C++
class-head:
class-key identifieropt base-clauseopt
class-key nested-name-specifier identifier base-clauseopt
class-key nested-name-specifieropt template-id base-clauseopt
Le premier, je connais, mais le deuxième m'interroge.
Il serait donc correct (syntaxiquement tout du moins) d'écrire ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
class Foo::Bar: public Parent
{
//...
};
Ou alors en prédéclaration de classe, ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
class Foo::Bar: public Parent;
De toute mon expérience en C++, il me semble ne jamais avoir vu une forme pareille. Qu'est-ce que ça peut bien vouloir dire ?