2009-06-21 82 views
0
std::string str; 
std::stringstream strm(str); 

我得到這個錯誤:VC9中的stringstream錯誤? 「無法訪問私有成員」

Error 11 error C2248: 'std::basic_ios<_Elem,_Traits>::basic_ios' : cannot access private member declared in class 'std::basic_ios<_Elem,_Traits>' c:\program files\microsoft visual studio 9.0\vc\include\sstream 517

如果我使用istringstream,同樣的情況。

編譯:VISUAL C++ 2008

回答

2

聽起來就像你試圖複製一個流。這是不可能的,因爲複製構造函數是私有的。

+0

是的。和VC9沒有鏈接到正確的代碼,我試圖做這樣的事情: boost :: archive :: xml_iarchive xml(GetStream(igFilePath)); 其中GetStream將複製字符串流。 好的,STL! – mannicken 2009-06-21 05:08:23

7
#include <string> 
#include <sstream> 

int main(int argc, char *argv[]) { 
    std::string str; 
    std::stringstream strm(str); 

    return 0; 
} 

編譯正常,沒有錯誤/我在VS 2008,你能張貼的完整代碼的警告?

相關問題