利用#define在头文件定义函数后,调用出现错误:error C2143: 语法错误 : 缺少“;”(在“}”的前面)
求高手提点:
在头文件中定义的宏函数:
#define SAFE_DELETE(p){delete(p);(p)=NULL}//宏定义的函数
#define SAFE_DELETE_ARRAY(p){delete[](p);(p)=NULL}
上面是在头文件Snake.h中定义的。
在Snake.cpp中调用:
void CSnake::Initial(void)
{
SAFE_DELETE_ARRAY(m_pStateArray);//???????
SAFE_DELETE_ARRAY(m_pPos);
编译的时候出现错误:
c:\users\zgh\documents\visual studio 2010\projects\snake\snake\snake.cpp(484): error C2143: 语法错误 : 缺少“;”(在“}”的前面)
[解决办法]
错误提示不是说得不能再明白了。。。
(p)=NULL 后面少了个 ; 号
#define SAFE_DELETE(p){delete(p);(p)=NULL;}
#define SAFE_DELETE_ARRAY(p){delete[](p);(p)=NULL;}