Bonjour, je voudrais savoir si il est possible d'ajouter à une classe une méthode statique et inline à la fois. Si c'est possible, comment s'y prendre ? Proposer moi une alternative si ce n'est pas réalisable. Merci à vous.
Version imprimable
Bonjour, je voudrais savoir si il est possible d'ajouter à une classe une méthode statique et inline à la fois. Si c'est possible, comment s'y prendre ? Proposer moi une alternative si ce n'est pas réalisable. Merci à vous.
Bonjour,
bien-sûr que c'est possible :
Code:
1
2
3
4
5
6
7
8
9 // header file class C { public: static int cas1() { return 1; } static int cas2(); }; inline int C::cas2() { return 2; }
En effet ça marche ! Je mettais le mot-clé inline dans le prototype en fait... Mais pour les méthodes inline tout court, je met bien inline devant la définition et le prototype n'est-ce pas ?
cas1 est implicitement inline car elle est définie dans la classe
si la classe ne contient que la déclaration (ce que vous appelez prototype) il faut le mettre au niveau de la déclaration et/ou au niveau de la définition. Dans l'exemple avec cas2 je ne l'avais mis qu'au niveau de la définition
Alors, vous auriez également pu mettre inline dans la définition de cas2 si je comprend bien... Dans ce cas, je met inline avant ou après static ?
J'ai essayé, mais je voulais m'en assurer, vu les erreurs retournées par le compilateur tout à l'heure... Merci à vous, ce sujet est résolu. ;)