Re: Explicitly specializing std::min() on VC++ 2005 Express Edition
- From: "Matthias Hofmann" <hofmann@xxxxxxxxxxxxxx>
- Date: Wed, 9 May 2007 20:49:31 +0200
"Tom Widmer [VC++ MVP]" <tom_usenet@xxxxxxxxxxx> schrieb im Newsbeitrag
news:OJCC7GlkHHA.1340@xxxxxxxxxxxxxxxxxxxxxxx
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
I have just downloaded and installed Service Pack 1 for VC++ 2005 Express
Edition, which I found here:
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=7b0b0339-613a-46e6-ab4d-080d4d4a8c4e
The file I downloaded is named 'VS80sp1-KB926748-X86-INTL.exe'.
Unfortunately, it did not fix the bug, which shouldn't be a surprise, as the
report whose link you provided does not address any issues related to the
conditional operator.
--
Matthias Hofmann
Anvil-Soft, CEO
http://www.anvil-soft.com - The Creators of Toilet Tycoon
http://www.anvil-soft.de - Die Macher des Klomanagers
.
- Follow-Ups:
- Re: Explicitly specializing std::min() on VC++ 2005 Express Edition
- From: Tom Widmer [VC++ MVP]
- Re: Explicitly specializing std::min() on VC++ 2005 Express Edition
- References:
- Explicitly specializing std::min() on VC++ 2005 Express Edition
- From: Matthias Hofmann
- Re: Explicitly specializing std::min() on VC++ 2005 Express Edition
- From: Tom Widmer [VC++ MVP]
- Re: Explicitly specializing std::min() on VC++ 2005 Express Edition
- From: Matthias Hofmann
- Re: Explicitly specializing std::min() on VC++ 2005 Express Edition
- From: Tom Widmer [VC++ MVP]
- Re: Explicitly specializing std::min() on VC++ 2005 Express Edition
- From: Tom Widmer [VC++ MVP]
- Re: Explicitly specializing std::min() on VC++ 2005 Express Edition
- From: Matthias Hofmann
- Re: Explicitly specializing std::min() on VC++ 2005 Express Edition
- From: Tom Widmer [VC++ MVP]
- Re: Explicitly specializing std::min() on VC++ 2005 Express Edition
- From: Matthias Hofmann
- Re: Explicitly specializing std::min() on VC++ 2005 Express Edition
- From: Tom Widmer [VC++ MVP]
- Re: Explicitly specializing std::min() on VC++ 2005 Express Edition
- From: Matthias Hofmann
- Re: Explicitly specializing std::min() on VC++ 2005 Express Edition
- From: Tom Widmer [VC++ MVP]
- Explicitly specializing std::min() on VC++ 2005 Express Edition
- Prev by Date: Re: VS2005 Compiler Issue
- Next by Date: Re: Mixing WTL and MFC - correction!
- Previous by thread: Re: Explicitly specializing std::min() on VC++ 2005 Express Edition
- Next by thread: Re: Explicitly specializing std::min() on VC++ 2005 Express Edition
- Index(es):
Relevant Pages
|
Loading