【问题标题】:Variadic Macro doesnt compile [closed]可变参数宏不编译[关闭]
【发布时间】:2020-07-19 05:59:45
【问题描述】:

我正在从这里学习宏:https://gcc.gnu.org/onlinedocs/cpp/Variadic-Macros.html#Variadic-Macros

到目前为止,所有的例子都已经编译好了,但是这个没有:

#define eprintf(…) fprintf (stderr, __VA_ARGS__)
eprintf ("%s:%d: ", input_file, lineno)

这是错误:

error: "�" may not appear in macro parameter list
 #define eprintf(���) fprintf (stderr, __VA_ARGS__)

warning: __VA_ARGS__ can only appear in the expansion of a C99 variadic macro
 #define eprintf(…) fprintf (stderr, __VA_ARGS__)

这就是我生成输出文件的方式(我不编译,我只想看看预处理器做了什么):

gcc -E macroTest.c -o macroTest

里面有代码的文件叫做macroTest.c

【问题讨论】:

    标签: c macros variadic


    【解决方案1】:

    哦,我发现了错误,......不是真正的点,就像那些...... 如果您从网站复制并粘贴代码不起作用,则必须将点替换为 ...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-09
      • 1970-01-01
      • 2011-09-11
      相关资源
      最近更新 更多