Sdílet prostřednictvím


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

Viz také

Referenční dokumentace

C4867 upozornění kompilátoru

Další zdroje

Kompilátor možnosti makra