Я пытаюсь написать функцию, которая возвращает различные типы в зависимости от оператора if.
auto parseParameterValue(QString aParameterValueString, int aParameterType)
{
if(aParameterType == 0)
{
int result = aParameterValueString.toInt();
return result;
}
else if(aParameterType == 1)
{
double result = aParameterValueString.toDouble();
return result; // <------- compilation error
}
else
{
return aParameterValueString;
}
}
К сожалению, я получаю:
- Предупреждение: функция parseParameterValue использует спецификатор типа auto без конечного возвращаемого типа
- Ошибка при втором возврате: непоследовательный вывод для 'auto': 'int', а затем 'double'
Есть ли способ заставить его работать?
Заранее спасибо.
boost::any
. - person πάντα ῥεῖ   schedule 08.01.2015auto
компилятор будет выводить правильный тип возвращаемого значения, но он должен быть согласованным (если вы не хотите использовать _2 _...) - person Adriano Repetti   schedule 08.01.2015QVariant
- это должно сработать для меня. - person Moomin   schedule 08.01.2015