Fstream.h中的错误C2248

时间:2011-04-19 18:17:01

标签: visual-studio c++-cli fstream ofstream

这是我收到的错误消息:

  

错误C2248:   '的std :: basic_ios< _Elem,_Traits> :: basic_ios'   :无法访问私人会员   在课堂上宣布   '的std :: basic_ios< _Elem,_Traits>' C:\ PROGRAM   Files \ Microsoft Visual Studio   10.0 \ VC \包括\ fstream的

这就是它说的错误

template<class _Elem,
    class _Traits> inline
    void swap(basic_ofstream<_Elem, _Traits>& _Left,
        basic_ofstream<_Elem, _Traits>& _Right)
    {   // swap _Left and _Right basic_ofstreams
    _Left.swap(_Right);
    }


这是我访问fstream的代码

char* stringPointer =  (char*) Marshal::StringToHGlobalAnsi(saveFileNameString).ToPointer();


ofstream sessionFile;
sessionFile.open(stringPointer, std::ios_base::in);
 Marshal::FreeHGlobal(IntPtr(stringPointer));`

提前谢谢!!!!

2 个答案:

答案 0 :(得分:1)

问题不在于Fstream.h,而在于您的代码。

检查您是否未将类的私有成员变量传递给ofstream或其他方法。

答案 1 :(得分:1)

我遇到了这个问题,感谢Luron的评论我明白了。

我发布解释,以防有人遇到同样的问题:

流对象(ostream,istream和derivates)没有复制构造函数,将这些对象中的一个传递给函数会调用复制构造函数,因此会导致错误。