我得到越來越錯誤的我碼出下面的錯誤是採取周(非常兼職)後略有改善:任何人都會提示爲什麼我的代碼在basic_ios和sstream中創建錯誤?
1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\sstream(451) : 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\Microsoft Visual Studio 9.0\VC\include\ios(151) : 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_ostringstream<_Elem,_Traits,_Alloc>::basic_ostringstream(const std::basic_ostringstream<_Elem,_Traits,_Alloc> &)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>,
1> _Alloc=std::allocator<char>
1> ]
我從CLI遷移到std::
類其我甚至沒有經驗。
我認爲它在說「這個診斷髮生在編譯器生成的函數中」被引用的函數是我的std::ostringstream os;
。
我用os
類似如下:
os << "Level: " << levelName << ", contains unexpected header at line " << (numMatched + 1)
<< "\nExpected:\n" << longStringHeader;
addToErrorSTDstring(os);
因爲std::string
串聯了一個排隊,每次加。
我用ostringstream
的唯一方法是
bool LevelParser::addToErrorSTDstring(std::ostringstream os){
我相信ildjarn只是perspicaciously確定爲我的問題。
沒有看到您的代碼是不可能的。 –