4
Je lis un code qui va:C++ définition de classe extern
extern class MyClass : BaseClass
{
...
} MyInstance;
Est-ce que le extern se référer à la déclaration de classe ou l'instance?
Je lis un code qui va:C++ définition de classe extern
extern class MyClass : BaseClass
{
...
} MyInstance;
Est-ce que le extern se référer à la déclaration de classe ou l'instance?
Instance. Les classes ne peuvent pas être extern.
Bien que le code ait une odeur - cet extrait suggère que la véritable déclaration de cette instance utilise une définition de classe distincte. Mauvaise, mauvaise idée - définir la classe deux fois.
Seva l'a cloué. En séparant l'instance de la définition de classe, la classe extern ne compile pas, mais extern MyClass MyInstance le fait. –