宏不起作用

时间:2014-01-12 17:53:19

标签: c++ macros

#define SAFE_RELEASE(ptr) {if((ptr)){(ptr)->Release(); (prt)=nullptr;}}

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

SAFE_RELEASE(device3D);
SAFE_RELEASE(direct3D);

错误是“'ptr':未声明的标识符”。

1 个答案:

答案 0 :(得分:1)

宏中的错误

(prt)=nullptr;

应该是

(ptr)=nullptr;

(请注意,这不会解释您发布的错误消息。我假设其中也存在拼写错误!)