【发布时间】:2013-02-11 08:51:17
【问题描述】:
以下代码使用 gcc 4.7.2 (mingw) 编译良好p>
#include <unordered_map>
#include <tuple>
struct test
{
test() =default;
private:
test(test const&) =delete;
};
int main()
{
std::unordered_map<char, test> map;
map.emplace(
std::piecewise_construct,
std::forward_as_tuple('a'),
std::forward_as_tuple()
);
}
如果我将test 中的复制构造函数从test(test const&) =delete; 更改为test(test const&) =default;,那么模板错误呕吐物似乎抱怨const test& 不能转换为test(文本here)。都不应该工作吗?或者如果不是,他们不应该都报错吗?
【问题讨论】:
标签: c++ gcc c++11 mingw unordered-map