Bonjour,
Est-il possible en C++ d'utiliser des variables membres d'une classe comme parametres par defaut pour une methode de cette meme classe.
J'ai code le source suivant pour illustrer mon idee.
Mon compilateur rale sur le code suivant en me suggerant de passer en static. Je prefere eviter cette solution.
Sortie du compilateur :
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
18
19
20
21
22
23
24
25
26
27
28
29
30
31 class A { public : A(int , int ); int val; int val2; void method(int arg = val, int arg2 = val2); }; A::A(int _val, int _val2):val(_val),val2(_val2) { } void A::method(int arg, int arg2) { std::cout << arg << arg2 << std::endl; std::cout << val << val2 << std::endl; } int main() { A objA(42, 33); objA.method(); return(EXIT_SUCCESS); }
Merci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 (pts/10):{549}$ g++ -Wall class_default_parameters.cpp class_default_parameters.cpp:15: error: invalid use of non-static data member ‘A::val’ class_default_parameters.cpp:18: error: from this location class_default_parameters.cpp:16: error: invalid use of non-static data member ‘A::val2’ class_default_parameters.cpp:18: error: from this location
Partager