[vox-tech] C++ problem

Brian Lavender brian at brie.com
Mon May 14 10:25:13 PDT 2012


Richard,

I have to wonder why you are declaring a variable in the
constructor. If you declare a variable in the constructor,
its scope will only survive the life of the constructor
and then the memory got from the heap will fall on the floor.
Put your variable declaration in the class. 

You should probably read Brude Eckel's "Thinking in C++". All
the code samples in his book should compile using gcc or
g++ in the case of C++. 

brian

On Sat, May 12, 2012 at 10:47:14PM -0700, Richard Harke wrote:
> My last post seems to have gotten lost so I'll try again.
> 
> I'm working on a small C++ program. In one of the constructors I
> create an array with
> double * var = new double [size]   After use, before exiting the
> constructor I return the memory with delete [] var  But after return
> from the delete, several private class variables are written over.
> I have checked that these variables are correct just before the delete
> call and are modified right after. Does anyone have any idea what is
> going on?
> 
> I'm running debian squeeze for amd64  with gcc 4.4.5 This morning I
> did an apt-get upgrade to be sure I had any recent fixes.
> 
> Richard Harke
> _______________________________________________
> vox-tech mailing list
> vox-tech at lists.lugod.org
> http://lists.lugod.org/mailman/listinfo/vox-tech

-- 
Brian Lavender
http://www.brie.com/brian/

"There are two ways of constructing a software design. One way is to
make it so simple that there are obviously no deficiencies. And the other
way is to make it so complicated that there are no obvious deficiencies."

Professor C. A. R. Hoare
The 1980 Turing award lecture


More information about the vox-tech mailing list