我正在将一个大型VC ++ 6.0应用程序转换为VS2010并继续为其中一个项目遇到此错误:
error C2248: 'std::basic_ios<_Elem,_Traits>::basic_ios' : cannot access private member declared in class 'std::basic_ios<_Elem,_Traits>'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ios(176) : see declaration of 'std::basic_ios<_Elem,_Traits>::basic_ios'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> This diagnostic occurred in the compiler generated function 'std::basic_ofstream<_Elem,_Traits>::basic_ofstream(const std::basic_ofstream<_Elem,_Traits> &)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
根据错误文本和此处提出的类似问题,我假设错误是由ofstream
直接传递给函数的实例引起的,而不是通过引用传递的。
我遇到的问题是找到以错误的方式传递ofstream
的代码行。错误消息只链接到VS2010中包含的fstream标头,我的项目在代码库中使用ofstream
几万行代码(没有一个由我编写)。
我会非常熟悉任何帮助/提示/策略来找到这种类型的编译器错误。你如何处理找到这种错误的问题?
答案 0 :(得分:1)
您如何解决查找此类错误的问题?
在源文件中执行grep
(正则表达式搜索),例如
\(([^,]+,)*, (std::)?of?stream [^&]