Thank you for that explanation. That helps a lot! Craig Chariton
-----Original Message----- From: Martin Sebor [mailto:[EMAIL PROTECTED] Sent: Friday, June 02, 2006 2:34 PM To: [email protected] Subject: Re: Compiler Warning 552 with bitset Craig Chariton wrote: > I am getting a compiler Warning 552 on HP-UX 11.11 with an A.03.63 > compiler. Here is the code that recreates the warning: > [...] > I am not seeing this with gcc on Linux. The code appears to run the > fine on in both cases. I was just wondering if this is a compiler issue > and, if so, is there any reason for concern? The answers are yes and no. The HP bug number is JAGaf00255. The details of the bug report are here: http://bugzilla.cvo.roguewave.com/show_bug.cgi?id=1536 There is no reason for concern, the compiler does the right thing despite the warning. The warning can be suppressed either via the compiler option +W552 or by #defining the configuration macro _RWSTD_NO_EXT_BITSET_TO_STRING and disabling the library feature that is giving the compiler trouble. Note that since stdcxx implements the resolution of issue 434 and also provides, as a conforming extension, an overloaded bitset ctor that takes a const char* argument, the program can be simplified like this: #include <bitset> #include <iostream> int main () { const char *a = "11"; const std::bitset<8> header(a); // stdcxx extension for (std::string::size_type i = 0; i < header.size (); ++i) { std::cout << header [i] << "\n"; } std::cout << header.to_string () << '\n'; // issue 434 } Here's issue 434: http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#434
