我的项目只包含两个源文件:
a.cpp:
const int n = 8;b.cpp:
extern const int n;
int main()
{
// error LNK2001: unresolved external symbol "int const n" (?n@@3HB)
int m = n;
}我知道有几种方法可以让它工作;然而,我只是想知道为什么它不工作?
发布于 2014-04-27 00:50:54
如果这里的其他答案不起作用,可能是因为您的定义位于不同的名称空间中……如果编译通过,并且您得到一个undefined symbol链接器错误:
extern const int n符号的有效命名空间,这是您在其中进行const int n = 8定义的有效命名空间。https://stackoverflow.com/questions/14894698
复制相似问题