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

时间:2016-03-13 07:58:28

标签: c++

我是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();

1 个答案:

答案 0 :(得分:1)

使用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;
}

如果约束&#34;只改变q1a.cpp&#34;在那里,您应该将变量声明添加到q1b.h,因为变量是在q1b.cpp中定义的。