重複の可能性:
const は、C では内部リンケージを意味しないのに、C++ では内部リンケージを意味するのはなぜですか?
私が以下を持っている場合:
a.cpp:
const int ArrayOfInts[] = {1, 2, 3, 4, 5};
b.cpp:
extern const int ArrayOfInts[];
void SomeFunc()
{
int a = ArrayOfInts[0];
}
リンカは、ArrayOfInts が b.obj から解決されていないと文句を言います。const 修飾子を削除すると、リンクが成功します。これが失敗する理由はありますか?
ありがとう。