_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