Given the following: // ++ CODE struct S { const int ci; }; int main() { S * s = new S; } // -- CODE Comeau Online gives me: // ++ output Comeau C/C++ 4.3.10.1 (May 29 2008 09:37:15) for ONLINE_EVALUATION_BETA1 Copyright 1988-2008 Comeau Computing. All rights reserved. MODE:strict errors C++ C++0x_extensions "ComeauTest.c", line 1: warning: class "S" defines no constructor to initialize the following: const member "S::ci" struct S ^ "ComeauTest.c", line 8: error: object has an uninitialized const or reference member S * s = new S; ^ 1 error detected in the compilation of "ComeauTest.c". // -- output Different g++ versions 4.2.3 4.1.2 20061115 (prerelease) (Debian 4.1.1-21) gcc version 4.3.1 20080404 (prerelease) [gcc-4_3-branch revision 133917] (Ubuntu 20080404-0ubuntu1) give: // ++ output constmember.cc: In function 'int main()': constmember.cc:8: warning: unused variable 's' // -- output Reading 5.3.4.15 (and 8.5.5) of the holy standard I'd say Comeau is right, the program is ill-formed, isn't it? Bug? Regards Stefan -- Stefan Naewe stefan dot naewe at atlas-elektronik dot com Don't top-post http://www.catb.org/~esr/jargon/html/T/top-post.html Plain text mails only, please http://www.expita.com/nomime.html