I'm reading about decltype
with multiple arguments and according to everyone else it just validates that all types are consistent and if so, completely discards all parameters but the last one. However it seems that passing another parameter does affect the return value:
int i = 7;
decltype(i) var = i;
++var;
cout << i << endl; // prints '7', as I would expect
but:
int i = 7;
decltype(1, i) var = i;
++var;
cout << i << endl; // prints '8' - apparently 'var' is now a reference to 'i'
Why is that?