public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
* Error on Member Initialization
       [not found] <1062804110.11035.ezmlm@gcc.gnu.org>
@ 2003-09-13  0:23 ` Allen Williams
  2003-09-13 14:28   ` Eljay Love-Jensen
  2003-09-14  0:39 ` WELCOME to gcc-help@gcc.gnu.org Allen Williams
  1 sibling, 1 reply; 6+ messages in thread
From: Allen Williams @ 2003-09-13  0:23 UTC (permalink / raw)
  To: gcc-help

Hello,

I have the following declared:

class RADCOMMGT_API CradComMgt
    {
public:
    CradComMgt(CLog* Log=NULL);
    ~CradComMgt();

	--- snip ---
	};
/***************************************/

In another file I declare this:

extern CLog Log;                   // <- Note declaration of CLog object

class radApp : public lnDaemon
    {
  public:
    virtual void DaemonInit();

  protected:
    CradComMgt m_MyServer(&Log);	// <- Note initialization
    };
/******************************************/

I get this from the compiler:

g++ -o radApp -D_LINUX -L../Libraries -I../Headers
radApp.cpp -lApp -lLog -lSock -lNetDataSvc -lradComMgt -lradCore
In file included from radApp.cpp:16:
radApp.h:24: error: invalid data member initialization
radApp.h:24: error: (use `=' to initialize static data members)
make: *** [radApp] Error 1

Compilation exited abnormally with code 2 at Fri Sep 12 20:04:53

I have Stroustrup's C++ reference manual and Ellis and Stroustrup's C++
Annotated reference, both of which say this should be a valid form to call
the CradComMgt::CradComMgt(CLog *) constructor.  What am I doing wrong here?

Thanks in Advance,
anw

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Error on Member Initialization
  2003-09-13  0:23 ` Error on Member Initialization Allen Williams
@ 2003-09-13 14:28   ` Eljay Love-Jensen
  0 siblings, 0 replies; 6+ messages in thread
From: Eljay Love-Jensen @ 2003-09-13 14:28 UTC (permalink / raw)
  To: Allen Williams, gcc-help

Hi Allen,

That's not how you initialize a member variable in C++.  (Although it's very close to how you do it in Java.)

You need to put the initialization in your radApp's constructor's initialization list.

e.g.:
radApp::radApp()
: m_MyServer(&Log)
{ }

HTH,
--Eljay


^ permalink raw reply	[flat|nested] 6+ messages in thread

* RE: WELCOME to gcc-help@gcc.gnu.org
       [not found] <1062804110.11035.ezmlm@gcc.gnu.org>
  2003-09-13  0:23 ` Error on Member Initialization Allen Williams
@ 2003-09-14  0:39 ` Allen Williams
  2003-09-14  0:45   ` static_cast, dynamic_cast, etc Allen Williams
  2003-09-14 13:55   ` WELCOME to gcc-help@gcc.gnu.org Alexandre Oliva
  1 sibling, 2 replies; 6+ messages in thread
From: Allen Williams @ 2003-09-14  0:39 UTC (permalink / raw)
  To: gcc-help

I can't find the (relatively new) static_cast, dynamic_cast, etc. in the GCC
manual.
Can anyone point me to documentation on how to use these?

TIA,
allen

^ permalink raw reply	[flat|nested] 6+ messages in thread

* static_cast, dynamic_cast, etc.
  2003-09-14  0:39 ` WELCOME to gcc-help@gcc.gnu.org Allen Williams
@ 2003-09-14  0:45   ` Allen Williams
  2003-09-14 14:58     ` Eljay Love-Jensen
  2003-09-14 13:55   ` WELCOME to gcc-help@gcc.gnu.org Alexandre Oliva
  1 sibling, 1 reply; 6+ messages in thread
From: Allen Williams @ 2003-09-14  0:45 UTC (permalink / raw)
  To: Allen Williams, gcc-help

Oops!  Sorry about the original subject line.

> -----Original Message-----
> From: gcc-help-owner@gcc.gnu.org [mailto:gcc-help-owner@gcc.gnu.org]On
> Behalf Of Allen Williams
> Sent: Saturday, September 13, 2003 8:40 PM
> To: gcc-help@gcc.gnu.org
> Subject: RE: WELCOME to gcc-help@gcc.gnu.org
> 
> 
> I can't find the (relatively new) static_cast, dynamic_cast, etc. 
> in the GCC
> manual.
> Can anyone point me to documentation on how to use these?
> 
> TIA,
> allen

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: WELCOME to gcc-help@gcc.gnu.org
  2003-09-14  0:39 ` WELCOME to gcc-help@gcc.gnu.org Allen Williams
  2003-09-14  0:45   ` static_cast, dynamic_cast, etc Allen Williams
@ 2003-09-14 13:55   ` Alexandre Oliva
  1 sibling, 0 replies; 6+ messages in thread
From: Alexandre Oliva @ 2003-09-14 13:55 UTC (permalink / raw)
  To: Allen Williams; +Cc: gcc-help

On Sep 13, 2003, "Allen Williams" <anw@csunv.com> wrote:

> I can't find the (relatively new) static_cast, dynamic_cast, etc. in the GCC
> manual.

The GCC manual does not document the languages it compiles.  That's
something left for language standardization committees.  Only GCC
extensions or limitations are documented.  Since the Standard C++
new-style casts aren't either, they're not documented in the manual.

> Can anyone point me to documentation on how to use these?

You can get a copy of the ISO C++ Standard directly from the standards
bodies.

-- 
Alexandre Oliva   Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer                 aoliva@{redhat.com, gcc.gnu.org}
CS PhD student at IC-Unicamp        oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist                Professional serial bug killer

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: static_cast, dynamic_cast, etc.
  2003-09-14  0:45   ` static_cast, dynamic_cast, etc Allen Williams
@ 2003-09-14 14:58     ` Eljay Love-Jensen
  0 siblings, 0 replies; 6+ messages in thread
From: Eljay Love-Jensen @ 2003-09-14 14:58 UTC (permalink / raw)
  To: Allen Williams, gcc-help

Hi Allen,

Although not quite as "sacred" as the ISO 14882 standard itself, Stroustrup's "C++ Programming Language" (3rd edition or special edition) is an excellent resource that explains the how's and what's of C++.  A book of knowledge.

And Cline, Lomow, Girou's "C++ FAQs" (2nd edition) is an excellent resource that explains the when's and the why's.  A book of wisdom.

HTH,
--Eljay


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2003-09-14 14:58 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <1062804110.11035.ezmlm@gcc.gnu.org>
2003-09-13  0:23 ` Error on Member Initialization Allen Williams
2003-09-13 14:28   ` Eljay Love-Jensen
2003-09-14  0:39 ` WELCOME to gcc-help@gcc.gnu.org Allen Williams
2003-09-14  0:45   ` static_cast, dynamic_cast, etc Allen Williams
2003-09-14 14:58     ` Eljay Love-Jensen
2003-09-14 13:55   ` WELCOME to gcc-help@gcc.gnu.org Alexandre Oliva

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).