J ai du mal a comprendre l utilité de la structure class de class comme illustrée dans le essage de MSDN error suivant:
Compiler Error C2327
'symbol' : is not a type name, static, or enumerator
Code within a nested class attempts to access a member of the enclosing class that is not a type name, a static member, or an enumerator.Premiere question:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Example // C2327.cpp int x; class enclose { public: int x; static int s; class inner { void f() { x = 1; // C2327; enclose::x is not static s = 1; // ok; enclose::s is static ::x = 1; // ok; ::x refers to global } }; };
quelqu un de ce Forum aurait-il une illustration pertinente de cette technique par un exemple concret de maniere a bien comprendre l utilite d une telle syntaxe qui pour moi reste tres exotique.
deuxieme question:
Modifions le code ci dessus par:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 class enclose { public: int x; static int s; int g( int &); class inner { void f() { x = 1; // C2327; enclose::x is not static s = 1; // ok; enclose::s is static ::x = g(s); // ok; ::x refers to global } }; };[Farscape: Merci]
Partager