【发布时间】:2026-01-15 02:25:01
【问题描述】:
下面的代码没问题,但由于多余的 ';' 我收到了警告在初始化之后。
#define INIT \
namespace Vars { \
int a = 0; \
}
INIT;
int main() { ... }
我怎样才能修复这个代码,允许带有额外的';'的符号?
考虑 INIT 必须在全局范围内是可调用的。
【问题讨论】:
-
这看起来像是一个 XY 问题。为什么需要在那里添加
;?为什么首先需要一个宏? -
你用的是什么编译器? ideone c++14 并没有为我抱怨。虽然我不确定警告级别。 ideone.com/4VzHaL
-
@drescherjm:需要
-Wpedantic。
标签: c++ c-preprocessor global-scope