Instead of usual
void foo (void ) {
cout << \"Meaning of life: \" << 42 << endl;
}
C++11 allows is an al
Consider the code:
template
Tx Add(T1 t1, T2 t2)
{
return t1+t2;
}
Here the return type depends on expression t1+t2, which in turn depends on how Add is called. If you call it as:
Add(1, 1.4);
T1 would be int, and T2 would be double. The resulting type is now double (int+double). And hence Tx should (must) be specified using auto and ->
template
auto Add(T1 t1, T2 t2) -> decltype(t1+t2)
{
return t1+t2;
}
You can read about it in my article.