Код: Выделить всё
#include
#include
struct my_struct {
const std::tuple t{5, 3.14};
template
decltype(std::get(t)) get() {
return std::get(t);
}
};
namespace std {
template
struct tuple_size :
integral_constant<
std::size_t,
std::tuple_size_v> {
};
template
struct tuple_element {
using type = tuple_element_t<
i,
decltype(std::declval().t)>;
};
}
int main() {
my_struct s;
auto [x, y] = s;
std::cout
Подробнее здесь: [url]https://stackoverflow.com/questions/79551927/inconsistency-in-structured-binding-declarations-in-c[/url]