From: "Phlip" Newsgroups: comp.os.msdos.djgpp,comp.lang.c++ Subject: Re: Help : warning invalid initializer Date: 23 May 1999 19:09:41 PDT Organization: Concentric Internet Services Lines: 45 Message-ID: <7iacd5$n7v@journal.concentric.net> References: <374898C3 DOT AD7EB7FC AT netvigator DOT com> NNTP-Posting-Host: tegan.deltanet.com X-Newsreader: Microsoft Outlook Express 4.72.3110.5 X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com NG Chi Fai wrote: >IOTable.hpp:11: ANSI C++ forbids in-class initialization of non-const >static member `IOTableIdentifiers' >class IOTable >{ > private: > static const char* >IOTableIdentifiers[]={"A","B","C","D","E","F,"G","H","I","J","K","L ","M","N","O","P",NULL}; ISO C++ lets one decare a static constant in a header: static int const MY_FAVORITE_NUMBER (42); But your variable is not const; the compiler would accept this line: IOTable::IOTableIdentifiers[0] = "Z"; Your _first_ 'const' only means the compiler will not permit this line: IOTable::IOTableIdentifiers[0][0] = 'Z'; > static const char* const IdentifierSuffix="_S"; By contrast, 'IdentifierSuffix' is elegible because the pointer itself is constant. >}; In the words of the Good Witch of the North, "You had the answer with you all the time, only you had to learn it for yourself!" -- Phlip at politizen dot com (address munged) ======= http://users.deltanet.com/~tegan/home.html ======= -- The object of the game is to transfer the project's Critical Path to a colleague --