Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/137.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 通过fstream作为结构成员运行_C++_Fstream - Fatal编程技术网

C++ 通过fstream作为结构成员运行

C++ 通过fstream作为结构成员运行,c++,fstream,C++,Fstream,我有以下结构 struct option { std::fstream fpointer; char* clifn; }; 我想将此结构作为参数传递给另一个函数(另一种方法是将单个元素和fpointer作为引用传递),将其传递给函数会引发编译器错误 error C2248: 'std::basic_fstream<_Elem,_Traits>::basic_fstream' : cannot access private member declared in

我有以下结构

struct option
{   
    std::fstream fpointer;
    char* clifn;
};
我想将此结构作为参数传递给另一个函数(另一种方法是将单个元素和fpointer作为引用传递),将其传递给函数会引发编译器错误

error C2248: 'std::basic_fstream<_Elem,_Traits>::basic_fstream' : cannot access private member declared in class 'std::basic_fstream<_Elem,_Traits>'
错误C2248:'std::basic_fstream::basic_fstream':无法访问在类'std::basic_fstream'中声明的私有成员
是否有任何方法可以将struct成员的std::fstream对象传递给函数

因此,so
struct option
不可复制,因为它有一个不可复制的成员(
fpointer
)。通过引用传递结构选项以避免复制:

void some_function(option& a_option)
{
}
因此,
struct option
不可复制,因为它有一个不可复制的成员(
fpointer
)。通过引用传递结构选项以避免复制:

void some_function(option& a_option)
{
}

我猜您是通过值传递
选项
,您应该通过引用传递它。fstream的副本已禁用。并向我们展示您的函数声明。谢谢@billz it worke我猜您是通过值传递
选项
,您应该通过引用传递它。fstream的副本已禁用。并向我们展示你的函数声明。谢谢@billz它起作用了