2
下面的代码片断是下完全有效++(至少被编译):常量声明 - 语言差异?
my_file.cxx:
static const int MY_CONST_ONE = 1;
static const int MY_CONST_TWO = MY_CONST_ONE;
在另一方面,完全相同的代码编译的C未能与所述错误消息(http://ideone.com/erBkm9):
my_file.c:2:1: error: initializer element is not constant
my_file.c:
static const int MY_CONST_ONE = 1;
static const int MY_CONST_TWO = MY_CONST_ONE;
是什么原因?它是编译器特定的还是某些已知的C vs C++差异?
您的编译器已经完成了这项工作。发布结果,所以我们不必再次完成这项工作。 – nvoigt 2013-03-13 16:04:36
@AlokSave,这个问题比你链接的问题简单得多,而且更容易理解。我建议保留它。 – 2013-03-13 16:07:00
@MarkRansom:但它是重复的。标有重复的答案正是在这里问及更多。 *更简单,更容易*理解与它有什么关系?如果可以的话,可以进行重复标记的反向标记,但我认为它不会对其他问题的内容做任何公正的处理。 – 2013-03-13 16:09:41