问题是这样的:
我已经定义了一个这样的宏:
#define PP_TYPE "XX"   //XX为任一字符
而现在我要在程序中改变这个宏的定义为:“NXX”
不知有何办法?

解决方案 »

  1.   

    #undef PP_TYPE
    #define PP_TYPE "New_XX"
      

  2.   

    我的XX是任一两个字符,不是实际的'X'
      

  3.   

    用## 表示连接.#define PP_TYPE(x) "new_"##x
      

  4.   

    "我的XX是任一两个字符,不是实际的'X'"不懂你在说什么, 你就那一个宏,怎么还会是"任意两个字符"
      

  5.   

    #define PP_TMP_TYPE PP_TYPE
    #undef PP_TYPE
    #define PP_TYPE "N"##PP_TMP_TYPE不知道可不可以,没有调查.
      

  6.   

    用##
    #define PP_TYPE(x) N##X
    然后使用PP_TYPE(x),在程序运行过程中动态带入x即可改变成你所需要的名字,赫赫,等着接分,谢谢了   
      

  7.   

    To lif2000(阿飞) :
    真希望它可以,不过真的不行!:)看来好象是无解的!
      

  8.   

    To timepalette(时间调色板) :
    因为有几个宏是我们启动编译后才手工设定的,
    即启动我们整个项目编译时,我们可以简单改变几个宏,而得出不同的结果