struct X { int a, b; };
int main()
{
auto p = std::pair{ 1, 2 };
const auto&[r1, r2] = p; // ok
X x{ 1, 2 };
const auto&[r3, r4] = x; // error
}
clang 7.0 (в Windows) сообщение об ошибке:
error : cannot decompose this type; 'std::tuple_size<const X>::value' is not a valid
integral constant expression
Почему структурированное связывание не работает должным образом на struct?