Re: Explicitly specializing std::min() on VC++ 2005 Express Edition



Matthias Hofmann wrote:
"Tom Widmer [VC++ MVP]" <tom_usenet@xxxxxxxxxxx> schrieb im Newsbeitrag news:uCq1XvVkHHA.4188@xxxxxxxxxxxxxxxxxxxxxxx

The problem is that VC2005 is ignoring 5.16/4 (about ?: ):
"If the second and third operands are lvalues and have the same type, the result is of that type and is an lvalue."

Instead, it is applying the lvalue-to-rvalue conversion (e.g. the array-to-pointer conversion) to the parts of the ?: expression, and thus trying to return a pointer where an array is expected.

That's good news, I first thought that there was a bug in my code.

It's been reported and fixed apparently:
https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=101496

Tom
.


Loading