Я столкнулся со следующим конфликтом определения и использования функции-члена класса в моем коде с файлом cpp как:
std::tuple<float, float> SomeClass::SomeFunction(){
~~ do something ~~
return {float1, float2};
}
void SomeClass::AnotherFunction(){
SomeFunction();
}
Функция 'SomeFunction' вызывалась без кортежа он возвращается, будучи назначенным на что-либо. Исправление кода так, что возвращаемый кортеж присваивается некоторым переменным, похоже, не меняет работу моей программы (он работает с присваиваемым кортежем или без него, и результаты, которые являются числовым вычислением, одинаковы либо кстати).
Я не понимаю, почему код может работать, как указано выше, и я бы раньше подумал, что компиляция не удастся на этом этапе в моем коде. Есть ли какое-то особое поведение кортежей в c ++, которое я пропустил?