【发布时间】:2012-03-16 08:51:21
【问题描述】:
如果之前有人问过这个问题,我提前道歉,但我无法在 SO 上找到任何与此特别相关的内容。
基本上,假设我有一个简单的宏:
#define STR "somestring"
当我对该宏执行printf 或puts 时,我得到一个
error: expected ')' before ';' token
其实很简单:
int main( int argc, char** argv )
{
puts( STR ); //error
return 0;
}
这可能吗?如果有,怎么做?
【问题讨论】:
-
它工作正常:ideone.com/jN8nQ。问题一定出在其他地方。
-
你有
#define STR "somestring";吗? -
(在定义之后我打赌
;) -
@Mat 你应该得到一个棒棒糖 :) 而且,我最诚挚的道歉,伙计们。
-
当您没有发布您实际使用的确切代码时会发生这种情况。
标签: c string macros printf c-preprocessor