如何在不同的文件中声明变量

How to declare variable in different file?

本文关键字:文件 声明 变量      更新时间:2023-10-16

我是C++新手,只是想将函数分成文件。这是我的一个作业的例子。当我编译它时,消息显示:

未声明"b"

当我将#include "q1b.cpp"添加到q1a.cpp时,它会失败。它如何仅通过更改q1a.cpp来运行?很高兴知道这个概念。

//q1a.cpp
#include <iostream>
#include "q1b.h"
using namespace std;
int main() {
    calC();
    cout << b << endl;
    return 0;
}
//q1b.cpp
#include "q1a.h"
#include "q1b.h"
int b=1;
void calB(int i) {
    b = calA(i) + 1;
}
void cal() {
    calB(calA(b));
}
//q1a.h
int calA(int i) {
    return i*10;
}
//q1b.h
void calC();

使用说明符声明变量extern

//q1a.cpp
#include <iostream>
#include "q1b.h"
using namespace std;
extern int b; // add this line
int main() {
calC();
cout << b << endl;
return 0;
}

如果约束"仅通过更改 q1a.cpp"不存在,则应将变量声明添加到q1b.h,因为变量是在 q1b.cpp 中定义的。