C++ 宏don';行不通
这是一本游戏编程书中的宏;在VS2012中,当我调用此宏时,出现编译错误:C++ 宏don';行不通,c++,macros,C++,Macros,这是一本游戏编程书中的宏;在VS2012中,当我调用此宏时,出现编译错误: #define SAFE_RELEASE(ptr) {if((ptr)){(ptr)->Release(); (prt)=nullptr;}} 错误为“'ptr':未声明的标识符”。宏中的键入错误 SAFE_RELEASE(device3D); SAFE_RELEASE(direct3D); 应该是 (prt)=nullptr; (请注意,这并不能解释您发布的错误消息。我假设其中也有输入错误!)您的意思是(p
#define SAFE_RELEASE(ptr) {if((ptr)){(ptr)->Release(); (prt)=nullptr;}}
错误为“'ptr':未声明的标识符”。宏中的键入错误
SAFE_RELEASE(device3D);
SAFE_RELEASE(direct3D);
应该是
(prt)=nullptr;
(请注意,这并不能解释您发布的错误消息。我假设其中也有输入错误!)您的意思是
(ptr)=nullptr代码>而不是(prt)=nullptr代码>在这里发布问题比阅读一行代码更容易:pYes,请原谅我提出了这么多不切实际的问题(。我强烈建议查看许多COM智能指针库中的一个,例如,或者甚至是支持的编译器,这也是我所想的。应该是错误是“'prt”:未声明的标识符”.
我不会因为试图回答一个无法回答的问题而使用-1。@DieterLücking我认为显示打字错误是所有必要的解释。你还希望看到什么?
(ptr)=nullptr;