Sponsored Content
Full Discussion: C++ program crashes
Top Forums Programming C++ program crashes Post 302608233 by Corona688 on Friday 16th of March 2012 02:00:04 PM
Old 03-16-2012
When you assign one class to the other, all you're copying is the pointer, not the memory itself. So they both end up holding pointers to the same memory.

When they go out of scope, they both try to free the same pointer. The first will succeed. The second to go out of scope will crash.

You should create a copy constructor for the class, which will be used whenever you assign another class to it with =.

Code:
class CString
{
...

CString(const CString& copy)
{
        m_data=new char[strlen(copy.m_data) + 1];
        strcpy(m_data, copy.m_data);
}

...

};

This User Gave Thanks to Corona688 For This Post:
 

10 More Discussions You Might Find Interesting

1. HP-UX

Program crashes with optimization level O2

I am experiencing a difficulty undersatnding why my program (C++, HP UNIX) crashes. It crashes only when I build it with -O (+O2) optimization switch (used in aCC compiler). It works ok with +O0 or +O1 optimization. Also, I see that local variables are shown incorrecly when program is built... (3 Replies)
Discussion started by: Yuriy07
3 Replies

2. Programming

AIX 5.3 64-bit program crashes with AIX 5.1

I have an AIX 64-bit program which uses following from AIX5.3 /usr/lib/libc.a(shr_64.o) /usr/lib/libpthread.a(shr_xpg5_64.o) /home/jeet_xp/export/power/usr/lib/libsarpc.a(shr.o) /unix /usr/lib/libcrypt.a(shr_64.o) /usr/lib/libc_r.a(shr_64.o) ... (3 Replies)
Discussion started by: jeet_xp
3 Replies

3. Linux

gethostnameby_r crashes

Hello all, I'm trying to use gethostbyname_r function with 6 arguments in one of my functions. But the call to this crashes the program. Kindly help me in resolving this... Compiler Info: Linux target: i686-hardhat-linux version: 3.3.1 The following is the piece of code I'm trying to... (1 Reply)
Discussion started by: rajans
1 Replies

4. Programming

C++ program crashes

Hi, Could anyone tell me the reason why the following program crashes? class A { int x; public: A() { cout << "from A()" << endl; } ~A() { cout << "from ~A()" << endl; } }; class B : public A { public: B() { cout << "from B()"... (2 Replies)
Discussion started by: royalibrahim
2 Replies

5. SuSE

Chromium flashes and crashes

I am running openSUSE 11.2 with KDE4.5 on my eMachines e525. I just did a "zypper up" on my system and it reported that Chromium was going to be updated. I agreed and the when the update was finished I shut down Chromium and started it again. It flickered on the screen for a moment and crashed.... (6 Replies)
Discussion started by: Druonysus
6 Replies

6. Solaris

Server crashes when not in use.

Production server crashes when there is no traffic on it. Can only recover by going to ALOM and reboot the server. This seems to happen about the same time every month. The only good thing is the server is not in production at the time of the crash. I have been unable to locate any information in... (5 Replies)
Discussion started by: Joeentech
5 Replies

7. Red Hat

7z crashes system

Can someone tell my why every time I try to use 7z it freezes my system? I can't move my mouse, I can't type, I can't kill my xsession. I then restart my system and everything returns to normal. When I try to use 7z my system again freezes. (11 Replies)
Discussion started by: cokedude
11 Replies

8. Programming

Program crashes on calling __libc_msgrcv()

Hi, I am a newbie to linux programming. I have implemented msgqueue in C. msgrcv() call at the client end is as below: msgrcv( msgqid, msgptr, msgsize, msgtype, 0 ); My program works fine when msgrcv () from /lib/libc.so.6 is called. However it crashes when __libc_msgrcv() is called. ... (3 Replies)
Discussion started by: praasanna
3 Replies

9. UNIX and Linux Applications

Apcupsd crashes

I am trying to run apcupsd, but it will not retain contact the UPS root@meow:/home/ethan/UPS/gapcmon-0.8.9# /etc/init.d/apcupsd start Starting UPS power management: A copy of the daemon is still running. If you just stopped it, please wait about 5 seconds for it to shut down.... (0 Replies)
Discussion started by: Meow613
0 Replies

10. Web Development

Apache2 Crashes

The Apache server suddenly stops. I am running Debian Jessie Here are some diagnostics: root@meow:/var/www# apachectl configtest AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress... (4 Replies)
Discussion started by: Meow613
4 Replies
QwtCPointerData(3)						 Qwt User's Guide						QwtCPointerData(3)

NAME
QwtCPointerData - Data class containing two pointers to memory blocks of doubles. SYNOPSIS
#include <qwt_data.h> Inherits QwtData. Public Member Functions virtual QwtDoubleRect boundingRect () const virtual QwtData * copy () const QwtCPointerData & operator= (const QwtCPointerData &) QwtCPointerData (const double *x, const double *y, size_t size) virtual size_t size () const virtual double x (size_t i) const const double * xData () const virtual double y (size_t i) const const double * yData () const Detailed Description Data class containing two pointers to memory blocks of doubles. Constructor &; Destructor Documentation QwtCPointerData::QwtCPointerData (const double *x, const double *y, size_tsize) Constructor Parameters: x Array of x values y Array of y values size Size of the x and y arrays Warning: The programmer must assure that the memory blocks referenced by the pointers remain valid during the lifetime of the QwtPlotCPointer object. See also: QwtPlotCurve::setData(), QwtPlotCurve::setRawData() Member Function Documentation QwtDoubleRect QwtCPointerData::boundingRect () const [virtual] Returns the bounding rectangle of the data. If there is no bounding rect, like for empty data the rectangle is invalid: QwtDoubleRect::isValid() == false Reimplemented from QwtData. QwtData * QwtCPointerData::copy () const [virtual] Returns: Pointer to a copy (virtual copy constructor) Implements QwtData. QwtCPointerData & QwtCPointerData::operator= (const QwtCPointerData &data) Assignment. size_t QwtCPointerData::size () const [virtual] Returns: Size of the data set Implements QwtData. double QwtCPointerData::x (size_ti) const [virtual] Return the x value of data point i Parameters: i Index Returns: x X value of data point i Implements QwtData. const double * QwtCPointerData::xData () const Returns: Array of the x-values double QwtCPointerData::y (size_ti) const [virtual] Return the y value of data point i Parameters: i Index Returns: y Y value of data point i Implements QwtData. const double * QwtCPointerData::yData () const Returns: Array of the y-values Author Generated automatically by Doxygen for Qwt User's Guide from the source code. Version 5.2.2 Mon Aug 1 2011 QwtCPointerData(3)
All times are GMT -4. The time now is 06:18 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy