_ATL_ENABLE_PTM_WARNING
Definujte toto makro pro použití syntaxe kompatibilní se standardem ANSI C++ pro ukazatel funkce členů.Pomocí tohoto makra způsobí chybu kompilátoru C4867 generován při nestandardní syntaxe slouží k inicializaci ukazatel členské funkce.
#define _ATL_ENABLE_PTM_WARNING
Poznámky
Knihovny ATL a MFC byly změněny tak, aby odpovídala kompilátoru Visual C++ soulad lepší standard C++.Podle standardu ANSI C++ syntaxe členské funkce třídy ukazatel by měl být &CMyClass::MyFunc .
Při _ATL_ENABLE_PTM_WARNING není definován (výchozí případ) ATL/MFC zakáže C4867 chyby v mapách makro (zejména zprávy mapuje) můžete pokračovat v kódu, který byl vytvořen v dřívější verze sestavit jako dříve.Pokud definujete _ATL_ENABLE_PTM_WARNING, váš kód by měl být kompatibilní s standard C++.
Však nestandardní formuláře se, proto je nutné přesunout existující kód kompatibilní standardní syntaxe jazyka C++.Například následující:
BEGIN_MESSAGE_MAP(CMFCListViewDoc, CDocument)
ON_COMMAND(ID_MYCOMMAND, OnMycommand)
END_MESSAGE_MAP()
By měl být změněn na:
BEGIN_MESSAGE_MAP(CMFCListViewDoc, CDocument)
ON_COMMAND(ID_MYCOMMAND, &CMFCListViewDoc::OnMycommand)
END_MESSAGE_MAP()
Všimněte si, že mapy maker přidat znak '&', neměli přidávat ji znovu v kódu.