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'完全支持整个标准。 –