On Wednesday, July 24, 2013 10:07:54 Alex H wrote: > This code: > > void test(const int n) > { > auto j = n; > j++; > } > > Gives this error: > cannot modify const expression j > > > Is this considered a feature or a bug? I would assume most people > wouldn't want new variables inheriting const.
The behavior is correct and desirable. It would be a big problem for generic code if the type of auto didn't match the right-hand side of the expression. In some cases, it might be okay if auto gave you the tail-const type, but even that could be problematic depending on the type. - Jonathan M Davis