Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez aussi afficher la version anglaise dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte.
Traduction
Anglais

_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

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 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.

Afficher: