传递fstream作为结构成员

Mel*_*uha 0 c++ fstream

我有以下结构,

struct option
{   
    std::fstream fpointer;
    char* clifn;
};
Run Code Online (Sandbox Code Playgroud)

我想将此结构作为参数传递给另一个函数(其他方法是将单个元素和fpointer作为引用传递),将其传递给函数会抛出编译器错误

error C2248: 'std::basic_fstream<_Elem,_Traits>::basic_fstream' : cannot access private member declared in class 'std::basic_fstream<_Elem,_Traits>'
Run Code Online (Sandbox Code Playgroud)

有没有办法将struct member的std :: fstream对象传递给函数.

hmj*_*mjd 6

流不可复制,struct option因此不可复制,因为它具有不可复制的成员(fpointer).struct option通过引用传递以避免副本:

void some_function(option& a_option)
{
}
Run Code Online (Sandbox Code Playgroud)