小编kle*_*ent的帖子

常量声明 - 语言差异?

以下代码片段在C++中完全有效(至少得到编译):

my_file.cxx:

static const int MY_CONST_ONE = 1;
static const int MY_CONST_TWO = MY_CONST_ONE;
Run Code Online (Sandbox Code Playgroud)

另一方面,在C中完全相同的代码编译失败,并显示错误消息(http://ideone.com/erBkm9):

my_file.c:2:1: error: initializer element is not constant
Run Code Online (Sandbox Code Playgroud)

my_file.c:

static const int MY_CONST_ONE = 1;
static const int MY_CONST_TWO = MY_CONST_ONE;
Run Code Online (Sandbox Code Playgroud)

是什么原因?它是编译器特定的还是某些已知的C vs C++差异?

c c++

2
推荐指数
1
解决办法
123
查看次数

标签 统计

c ×1

c++ ×1