如何在不同的文件中声明变量
How to declare variable in different file?
我是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
中定义的。
相关文章:
- .cpp和.h文件中的模板专用化声明
- 在 .h 文件中的类中声明静态变量和在.cpp文件中声明"global"变量有什么区别
- 用"=default"声明的函数应该只在头文件中执行
- 调用在 HXX 文件中声明的静态数据成员
- 如何在 c++ 的不同文件中声明类?
- 如何在头文件中声明类模板(由于循环依赖关系)
- 声明要在 qml 和 cpp 文件中使用的全局字符串
- 在.cpp文件之间传递结构声明,而不使用全局头文件
- 为什么要将函数声明和定义放在单独的文件中
- 枚举前向声明与头文件
- 在命名空间中声明变量,在 main 中定义它,使其对所有其他文件可见
- 在带有类型保护的模板文件中使用前向声明
- 在指向现有内存地址的 hpp 文件中声明成员函数的最佳方法
- 在多个头文件中从接口声明被覆盖的函数时,如何避免重复代码?
- 应该在类中的文件声明为静态
- 是否应从头文件声明中排除辅助函数?(C++)
- 哪个C++头文件声明 strlen
- 如何为头文件声明“#include”以避免“error lnk2005”
- 打开文件和关闭文件声明定位:最佳做法,优点,缺点
- 说双向文件声明不隐式设置标志是否正确