c++将变量从.cpp传递到头文件
C++ pass variable from .cpp to header file
这与我之前问的一个问题有关:头文件中的c++数组
在main.cpp文件中有一个变量叫做fin1
ifstream fin1("ACW2_data.txt");
这可能是一个愚蠢的问题,但是我如何在头文件中使用main.cpp中这个变量的值?(即。有没有办法在两个文件之间传递变量?)
关于使用头文件的任何其他信息可能会有所帮助
Thanks in advance
这个变量可以在头文件中声明为extern
。
extern ifstream fin1;
现在你可以在任何你#include
这个头文件的地方使用这个变量,包括头文件本身。您不需要像这样传递变量。:)
我认为你需要备份并解释你正在尝试做什么。头文件通常用于定义公共定义和声明。
你说的"使用头文件中的值"是什么意思?一般来说,头文件不是运行代码的地方。那么这里需要用到这个变量是什么?
一般来说,需要在多个文件中使用的变量应该首先在头文件中声明。在c++中,这通常以类成员的形式存在。更常见的是,当另一个函数或方法需要使用相同的值时,将变量作为参数传递。
从你提供的信息中我看不出来,但我觉得你好像走错了路。
声明该变量为extern。
extern ifstream fin1;
那么每次你改变它,它的值就会更新并准备好在你的头文件中你可以在任何地方都包含tour header并使用
相关文章:
- .cpp和.h文件中的模板专用化声明
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 命名空间中具有.h和.cpp文件的类
- 为什么我的主文件.cpp不打印头文件中的任何内容
- 生成文件错误 - 找不到文件 - *.cpp
- 如何在文件.cpp gtkmm中声明小部件
- 没有实现文件(.cpp)的派生类
- 如何使用"CMakeLists.txt"中的add_library将整个文件(.cpp,.h等)包含在目录中
- 如何在Linux / Windows操作系统上使用文件*.cpp一步编译下面的代码
- 关于 Linux .so 文件无法链接到主文件.cpp文件
- 文件.cpp从Windows到Linux
- Ubuntu C++ 编译器错误: g++: 错误: 文件.cpp: 没有这样的文件或目录
- 如何将文件.cpp编译为本机编译
- 使用模板类时,似乎无法包含除 main 以外的任何 cpp 文件.cpp
- 无法编译C++文件.cpp。C++98模式
- 为什么C++头文件不需要包含实现文件 (.cpp)
- 如何访问位于独立文件(.cpp)中的非成员函数
- 如何在Visual Studio Code中通过键盘快捷键切换头文件/cpp文件
- 如何将数据从stringstream写入文件(CPP)
- 为什么filestream不把空白写入文件cpp ?