E2069 Utilisation incorrecte du pointeur de membre (C++)
Remonter à Erreurs et avertissements du compilateur (C++) - Index
Les pointeurs sur des membres de classes peuvent être uniquement transmis comme arguments de fonctions ou utilisés avec les opérateurs suivants :
- opérateurs d'affectation
- opérateurs de comparaison
- .*
- —>*
- ?:, opérateur conditionnel (ternaire)
- &&, opérateur AND logique
- ||, opérateur OR logique
Le compilateur a détecté un pointeur membre utilisé avec un autre opérateur.
Pour appeler un pointeur de fonction membre, vous devez fournir une instance de la classe.
Par exemple :
class A { public: myex(); }; typedef int (A::*Amfptr)(); myex() { Amfptr mmyex = &A::myex; return (*mmyex)(); //erreur }
Le code suivant entraînera une compilation :
class A { public: myex(); }; typedef int (A::*Amfptr)(); foo() { A a; Amfptr mmyex = &A::myex; return (a.*mmyex)(); }