Форум программистов, компьютерный форум CyberForum.ru

Что-то непонятное с памятью - C++

Войти
Регистрация
Восстановить пароль
 
MAnton
 Аватар для MAnton
23 / 23 / 1
Регистрация: 21.04.2011
Сообщений: 139
03.11.2012, 11:41     Что-то непонятное с памятью #1
Есть два класса, базовый:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Rand{
    protected:
        double *masRand;//Указатель на массив сл.вел
        long size;//Размер массива
    public:
        double* rnd(
                    long N = 100,
                    long x0 = 9340718,
                    long M = 1073741824,
                    long a = 484331,
                    long c = 453816693);
        Rand(long N = 100);
        ~Rand();
        void Print();
        double& operator[](long i);
        long GetSize();
        double* GetMas();
};
и производный:
C++
1
2
3
4
5
6
class RavnRand: public Rand
{
    public:
    RavnRand(long N = 100,long max_n=10);
    ~RavnRand();
};
и реализация конструктора RandRavn
C++
1
2
3
4
5
6
7
RavnRand::RavnRand(long N,long max_n):Rand(N)
{
     for(long i = 0;i < size; i++){
         masRand[i]=floor(masRand[i] * (max_n + 1));
cout << masRand[i] << endl; 
}
}
При создании объекта типа Rand все работает.
Но при создании объекта типа RavnRand происходит что-то мне непонятное, создается masRand но при этом в консоль помимо значений masRand[i] выводятся такие строки:

*** glibc detected *** /home/anton/Project/C++/SlVel/bin/Debug/SlVel: double free or
corruption (top): 0x0000000000a64340 ***
========= Backtrace: ===========
тут много всяких строк
========= Memory map:==========
и тут тоже

Aborted (core dumped)

Я так понимаю какие-то проблемы с памятью (или нет?). Но отчего все это происходит?

P.S. Еще бы кто нибудь подсказал как из консоли текст скопировать
Работаю в CodeBlocks 10.05
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.11.2012, 11:41     Что-то непонятное с памятью
Посмотрите здесь:

C++ turbo c++ и что-то непонятное
C++ непонятное строка?
непонятное строка? C++
C++ Непонятное выражение
Непонятное условие C++
C++ Что происходит с освободившейся от указателей памятью? [gcc-4.7.2]
Программа выводит что-то непонятное C++
fread творит что-то непонятное C++
Непонятное поведение C++
C++ Namespace & #include что-то непонятное
Непонятное условие while C++
Непонятное задание C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
03.11.2012, 11:54     Что-то непонятное с памятью #2
Где-то идет повторное освобождение памяти.
Yandex
Объявления
03.11.2012, 11:54     Что-то непонятное с памятью
Ответ Создать тему
Опции темы

Текущее время: 01:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru