【发布时间】:2017-11-15 10:26:16
【问题描述】:
我正在尝试编译这段代码:
#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。
【问题讨论】:
标签: c++ c++11 gcc move-semantics