gpt4 book ai didi

c++ - 对全局变量使用 extern 的正确方法是什么?

转载 作者:搜寻专家 更新时间:2023-10-31 00:20:10 24 4
gpt4 key购买 nike

文件a.cc

int a = 0;

文件 b.cc

#include "a.cc"

文件main.cc

#include "b.cc"
extern int a;

int main() {


}

g++ -c a.cc
g++ -c b.cc
g++ main.cc a.o b.o
error: multiple definitions of a

我在这里做错了什么?

最佳答案

您包含了一个 .cc(或 .cpp)文件,这是错误的。不要那样做。您需要一个 header ,并在其中放入 extern int a;:

// a.h
// include guards omitted
extern int a;

// a.cc
#include "a.h"

int a;

// b.cc
#include "a.h"

// main.cc
#include "a.h"

int main(){
// use a
}

关于c++ - 对全局变量使用 extern 的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6575791/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com