源码是这样
#define RUNTIME_CLASS(class_name)\
((CRuntimeClass*)(&class_name::class##class_name))
我想在里面加一个判断
如果参数等于null 那么就 把参数赋值为null
如果参数不等于 null  那么就执行((CRuntimeClass*)(&class_name::class##class_name))1楼代码是我写的不知道哪里错了.大神帮帮忙啊

解决方案 »

  1.   

    class_name 这个是什么东西, 没看明白, 是类名吗? 如果是类名怎么会等于0
      

  2.   

    C/C++ 编译器不支持在 #define 内部嵌套 #if 等语句,目前我见过就 NSIS 脚本支持,只不过是不能应用于 C 程序的。
      

  3.   

    如果class_name是一个在运行时获取的变量,那么楼主的要求是无法实现的
    NULL基本上都是被#define的0,和0比较再赋值0是啥意思?
      

  4.   

    因为我想自己写 mfc 几个大机制!
    然后发现不能传null.
    没办法只能给cobject 写具体定义,其他类可以用宏替换前几天都写完了