Привет, я хотел реализовать кортеж. Позвольте мне знать, что в этом не так, и как правильно его реализовать. Я хочу вернуть три значения из функции, где первые значения будут целыми, а последним значением будет массив.возвращает три значения из функции
template <typename T1, typename T2, typename T3>
struct t_untuple
{
T1& a1;
T2& a2;
T3& a3;
explicit t_untuple(T1& a1, T2& a2, T3& a3) : a1(a1), a2(a2), a3(a3) { }
t_untuple<T1, T2, T3>& operator = (const tuple <T1, T2, T3>& p)
{
a1 = p.first;
a2 = p.second;
a3 = p.third;
return *this;
}
};
// Our functor helper (creates it)
template <typename T1, typename T2, typename T3>
t_untuple<T1, T2, T3> unpair(T1& a1, T2& a2, T3& a3)
{
return t_unpair<T1, T2, T3>(a1, a2, a3);
}
Помогите мне в этом.
Я получаю символ «кортеж» не может быть решена на сопзЬ кортежа & р из-за которой p.third также ошибка
Что происходит, когда вы пытаетесь использовать его? – wallyk
Почему бы не создать класс, содержащий int, int, std :: array (при условии, что T меняется) –
pm100
Можете ли вы помочь, как это сделать. Я не уверен, как я могу двигаться дальше. – Vamsi