如何定义指向文件流的静态指针
How to define a static pointer to a file stream?
我需要一个静态指针到输出文件流。使用此代码:
#include <fstream>
class Test {
public:
static std::ofstream *sOfs;
};
std::ofstream Test::*sOfs;
int main()
{
Test::sOfs = new std::ofstream("test.txt");
return 0;
}
我得到以下链接器错误:
In function `main':
source_file.cpp: undefined reference to `Test::sOfs'
clang: error: linker command failed with exit code 1
如果成员不是静态的,则可以构建。
是否可以完全定义流向流的静态指针?如何?
正确的语法应为
std::ofstream* Test::sOfs;
对于std::ofstream Test::*sOfs
,您正在定义一个名为sOfs
的全局变量,类型的非静态数据成员指针指向成员,其中 Test
类型std::ofstream
。
相关文章:
- 使用gcc从静态链接的文件中查找可选符号
- 在 .h 文件中的类中声明静态变量和在.cpp文件中声明"global"变量有什么区别
- 停止cmake target_link_libraries将插件中静态库的两个对象文件链接到静态库本身
- Android 在编译二进制文件时重建静态库
- 给定一个C++嵌套的私有结构类型,是否有从文件范围静态函数访问它的策略
- 我可以读取静态对象中的文件.txt吗?C++
- 复制文件流C++静态变量
- 调用在 HXX 文件中声明的静态数据成员
- 链接时,不同静态库中的同一对象文件
- 如何在 linux 可执行文件中使用静态库
- 内联函数的函数本地静态对象是否在共享对象文件之间共享?
- 如果包含映射的静态库与可执行文件和动态库链接,静态映射(变量)是否会被多次释放?
- 在链接可执行文件之前查找静态库未解析的依赖项
- LNK2019 在文件中调用静态成员的方法时出错.cpp
- 访问从 CPP 文件到其他头文件的静态变量
- 无法将静态二进制文件链接到 #include
- 如何将 cpp 文件中的静态函数公开给其他文件
- 从 .so/.o 文件中获取 C/cpp 中的静态库列表
- 从内联函数引用文件静态变量
- IDL文件-静态链接或动态链接