Loading

多文件编译的const全局变量问题

原理

C++中const全局变量是仅在本文件中可见的,当多文件编译时,如果想在某个文件中使用extern关键字使用定义在其他文件中的const变量,那么该const变量在定义时需要加extern关键字。

实验

main.cpp:

#include <iostream>
using namespace std;

int main()
{
    extern const int a_in_other_c;
    cout << " a_in_other_c: " <<a_in_other_c << endl;
    return 0;
}

vars.cc:

//const int a_in_other_c = 100; // error, const must be defined as extern for use from other file
extern const int a_in_other_c = 100;

posted @ 2021-09-28 19:50  Sherlock-Tang  阅读(204)  评论(0编辑  收藏  举报