Error on Member Initialization

lrtaylor@micron.com lrtaylor@micron.com
Mon Sep 15 17:22:00 GMT 2003


Sorry, I just went back and look at his original code.  I see what he was doing wrong.  However, I'm still curious about my question...

Thanks,
Lyle Taylor
IS Applications

-----Original Message-----
From: lrtaylor 
Sent: Monday, September 15, 2003 11:21 AM
To: eljay@adobe.com; anw@csunv.com; gcc-help@gcc.gnu.org
Subject: RE: Error on Member Initialization

Eljay,

While that's the _preferred_ way to initialize member variables in C++, that's not always possible; sometimes you need to do more complex things to initialize your class (e.g., if you need to initialize variables differently based on certain conditions, retrieve information from a database, etc.).  Is there any _real_ difference between these two ways of initializing?

radApp::radApp()
: m_MyServer(&Log)
{}


radApp ::radApp()
{
  m_MyServer = &Log ;
}

Thanks,
Lyle Taylor
IS Applications

-----Original Message-----
From: Eljay Love-Jensen [mailto:eljay@adobe.com]
Sent: Saturday, September 13, 2003 8:28 AM
To: Allen Williams; gcc-help@gcc.gnu.org
Subject: Re: Error on Member Initialization

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



More information about the Gcc-help mailing list