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