3
我試圖編譯這段代碼:返回一個std :: stringstream的 - 編譯失敗
#include <sstream>
std::stringstream foo() {
std::stringstream log;
log << "Hello there\n";
return log;
}
GCC 4.9.2
給我下面的錯誤(與-std=c++11
):
[x86-64 gcc 4.9.2] error: use of deleted function
'std::basic_stringstream<char>::basic_stringstream(const std::basic_stringstream<char>&)'
Here一個例子。
由於std::stringstream
有move constructor
,爲什麼複製構造函數被調用,而不是移動構造函數?
注意:從GCC 5
代碼正確編譯:see here。
我認爲自選項'-std = C++ 11','GCC 4.9.2'完全支持整個標準。 –