"Lenguaje de programación C ++ cuarta edición" Capítulo 12.1.4
El tipo de devolución posterior pone el valor devuelto detrás al declarar / definir la función
auto getValue(int value)->int
{
return value*2;
}
Este uso se utiliza principalmente en plantillas, que a veces no pueden determinar el tipo de valor de retorno:
template<class T1,class T2>
auto getValue(T1 v1,T2 v2)->decltype (v1 + v2)
{
return v1 + v2;
}
#define debug qDebug()<<
int main(int argc, char *argv[])
{
debug getValue<int,int>(7,5.5);
debug getValue<int,double>(7,5.5);
}
Si esta función se pasa en dos entradas, el tipo de valor de retorno es int, y si se pasa un int y un doble, el tipo de valor de retorno es doble.