extern const 探究

来源:互联网 发布:产品三维展示软件 编辑:程序博客网 时间:2024/06/05 02:40

两个cpp文件如下: 

a.cpp:  

const int x = 1;

b.cpp: 

#include<iostream>using namespace std;extern const int x;int main(){    cout<<x<<endl;    return 0;}

编译两个cpp文件,会出现链接错误:x无法解析。 出错原因是C++规定const声明的常量为局部量,不能被外部文件引用。而在C中则规定const常量为全局量。 可以将a.cpp改为

extern "C"{    const int x = 1;}

extern "C" 申明该块是按C方式连接,解决错误。


  
0 0