Partager via


_ATL_ENABLE_PTM_WARNING

Définissez cette macro pour forcer l'utilisation de la syntaxe conforme aux normes ANSI C++ pour le pointeur vers les fonctions membres.Cette macro entraîne l'erreur C4867 du compilateur d'être généré lorsque la syntaxe non standard est utilisée pour initialiser un pointeur vers une fonction membre.

#define _ATL_ENABLE_PTM_WARNING

Notes

ATL et les bibliothèques MFC ont été modifiés pour correspondre à la conformité standard améliorée du C++ du compilateur Visual C++.Selon la norme C++ ANSI, la syntaxe de pointeur vers une fonction membre de classe doit être &CMyClass::MyFunc.

Lorsque _ATL_ENABLE_PTM_WARNING n'est pas défini (la casse par défaut) ATL/MFC, désactive l'erreur C4867 dans du cartes (entre autres tables des messages) afin que le code qui a été créé dans les versions antérieures ne puisse continuer à générer comme avant.Si vous définissez _ATL_ENABLE_PTM_WARNING, votre code doit être C++ conforme aux normes.

Toutefois, le formulaire non standard a été déconseillée, vous devez déplacer le code existant à la syntaxe conforme aux normes C++.Par exemple, ce qui suit :

BEGIN_MESSAGE_MAP(CMFCListViewDoc, CDocument)
   ON_COMMAND(ID_MYCOMMAND, OnMycommand)
END_MESSAGE_MAP()

Doit être modifié :

BEGIN_MESSAGE_MAP(CMFCListViewDoc, CDocument)
   ON_COMMAND(ID_MYCOMMAND, &CMFCListViewDoc::OnMycommand)
END_MESSAGE_MAP()

Notez que pour les macros de mappage qui ajoutent le caractère « & », vous ne doit pas l'ajouter à nouveau dans votre code.

Voir aussi

Référence

Avertissement du compilateur C4867

Autres ressources

Macros d'options du compilateur