On Wednesday, 14 January 2015 at 22:29:09 UTC, bearophile wrote:
According to Wikipedia:
http://en.wikipedia.org/wiki/C%2B%2B14#Function_return_type_deduction
C++14 is able to compile code like this:
auto correct(int i) {
if (i == 1)
return i;
else
return correct(i - 1) + i;
}
...
According to the wiki link:
"If multiple return expressions are used in the function's
implementation, then they must all deduce the same type."
So this will NOT work:
auto Correct(int i) {
if (i == 1){
return (int)5;
}else{
return (float)10;
}
}
Error:
prog.cpp: In function 'auto Correct(int)':
prog.cpp:8:19: error: inconsistent deduction for 'auto': 'int'
and then 'float'
return (float)10;
^
So could you please tell me a good use case to for using "return
type deduction"?
Matheus.