请教一个预编译的问题(有难度)
怎样将如下代码在g++中与编译通过#define func(a,b) name##a##b
int main()
{
func(fff,());
}
现在报错是
pasting "namefff" and "(" does not give a valid preprocessing token #define func(a) name##a
int main()
{
func(fff)();
} 楼上,()必须是以参数的形式传入 参数必须是标志符么? () 是合法的标志符么? macro的对象必须要是合法标志符,你的()算什么? 确实有难度:outu::outu::outu: func(fff,());
timeboy001 发表于 2010-10-19 10:58 http://linux.chinaunix.net/bbs/images/common/back.gif
lz 这句代码的设计含义是? 语法糖衣
页:
[1]