如何在extern中使用const int

时间:2017-03-04 19:08:15

标签: c++ const

我遇到了一个有趣的问题。 在我的文件A.cpp中 我有一个定义

const int I = 1;

在我的文件B.cpp中 我宣布

extern const int I;

当我使用它时,我在编译时收到错误消息

'undefined reference to I'

如果我删除文件A中的const,则没有消息并且编译正常。直到现在我猜测const intint有不同的签名。这里发生了什么,我不明白?

1 个答案:

答案 0 :(得分:1)

定义extern变量时,您需要使用const限定符。否则,它就像编译时常量一样使用。并且只在正在编译的文件中。