编译器错误:std :: basic_ios< _Elem,_Traits> :: basic_ios(const std :: basic_ios< _Elem,_Traits> :: _ Myt&)

时间:2013-05-13 01:58:11

标签: c++ compiler-errors

之前有人遇到此错误吗?我不知道究竟是什么造成了这种情况:

1>...include\sstream(640): error : "std::basic_ios<_Elem, _Traits>::basic_ios(const std::basic_ios<_Elem, _Traits>::_Myt &) [with _Elem=char, _Traits=std::char_traits<char>]"
1>...include\istream(922): error : "std::basic_ios<_Elem, _Traits>::basic_ios(const std::basic_ios<_Elem, _Traits>::_Myt &) [with _Elem=char, _Traits=std::char_traits<char>]"
1>...include\istream(18): error : "std::basic_ios<_Elem, _Traits>::basic_ios(const std::basic_ios<_Elem, _Traits>::_Myt &) [with _Elem=char, _Traits=std::char_traits<char>]"
1>...include\ostream(37): error : "std::basic_ios<_Elem, _Traits>::basic_ios(const std::basic_ios<_Elem, _Traits>::_Myt &) [with _Elem=char, _Traits=std::char_traits<char>]"

它没有在我的源代码中给出任何可能导致此问题的任何指示,而且我不知道此错误指向的是什么(它只是说error)。我的意思是,我在我的源代码中使用了流,字符串,所以任何人都可以暗示可能导致这种情况的原因吗?

使用NVCC编译的MSVC 2010

1 个答案:

答案 0 :(得分:1)

隔离bug后,我设法解决了这个问题:如果有人遇到此错误,则错误是NVCC抱怨您隐式复制std::stringstream对象的方式,这是不允许的

就我而言,我有一个异常类myError,内部包含一个std::stringstream对象,并且调用throw myError(...)隐式导致非法复制。

this separate answer解释了完整的分辨率。