补充下
这样的宏有很多,
#define A fun1()
#define B fun2()
#define C fun3()
LPCTSTR fun1(){
return A ;
}
LPCTSTR fun2(){
return B ;
}
LPCTSTR fun3(){
return C ;
}
这时候 在用A,B,C的时候,比如
CString str =A;
调试进入函数fun1的时候,A,B,C都已经有值了,搞不懂这些值是从哪来的;
而且我试了下 将宏定义
#define A fun1()
#define B fun2()
#define C fun3()
改为
#define A fun1()
#define B fun1()
#define C fun1()
然后再跟进函数,发现A B C的值还是原来的值,这就让我更迷惑了