我如下定义,没有错误
#define f  "asd"
.....
CString a="asd";
a=a+f;

解决方案 »

  1.   

    是你的CString用得不对。
    你要么用:CString aa = CString(FLAG)+CString(“aaa”);
    要么用:
    CString aa = FLAG;
    aa += “aaa”;
      

  2.   

    CString aa;
    aa += FLAG;
    aa += "aaa";
      

  3.   

    有这种写法的:
    char *cp = FLAG"aaa"; 
    因为在串常量很长时可以这样定义来初始化:
    char buff[] = "line1"
        "line2";
    等价于:
    char buff[] = "line1line2";但是刚才我vc下测试的时候发现个问题:
    建立一个空的console project作测试是正确的,可以得到 "#aaa",
    但是将这段代码放到一个window app的里去测试,就值剩下 "#" 了,
      

  4.   

    CString用法不对
    仔细看看CString的运算符重载“+”