Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 宏don';行不通_C++_Macros - Fatal编程技术网

C++ 宏don';行不通

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

这是一本游戏编程书中的宏;在VS2012中,当我调用此宏时,出现编译错误:

#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;