【发布时间】:2019-03-24 23:44:12
【问题描述】:
下面的代码应该编译吗?
#include <type_traits>
void foo() {
const std::pair<int, int> x = {1, 2};
auto [a, b] = x;
static_assert(std::is_const_v<decltype(a)>);
static_assert(std::is_const_v<decltype(b)>);
}
那么,这是一个 MSVC 错误吗?
这里的标准并不简单(我快速浏览了一下),但考虑到 auto 的规则,我想,a 和 b 应该被复制而丢弃 cv-qualifier .
【问题讨论】:
标签: c++ c++17 structured-bindings