宏能想办法打印出来不?求教高手啊~~
如下例子,写了一个安全删除的例子:
#define SAFE_DELETE(x) {if(x) delete x; x=NULL;} // 安全删除new分配出来的变量空间
Poit a,b; //假设a为空,b不为空SAFE_DELETE(a);//也就是在这里打印出a,请问:可以通过修改以上宏,来达到目的吗?SAFE_DELETE(b);
#define SAFE_DELETE(x) {if(x) delete x;else printf("%s is NULL\n", #x); x=NULL;}
[解决办法]
#define SAFE_DELETE(x)\ if (x)\ {\ delete x;\ x = NULL;\ }\ else\ printf("Null pointer \"%s\" in %s(%d).\n", #x, __FILE__, __LINE__);