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

Несколько new [] подряд - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ В каждой строке матрицы элемент, лежащий на главной диагонали заменить суммой ранее расположенных http://www.cyberforum.ru/cpp-beginners/thread401710.html
Обработка двумерных массивов. Элементы исходной матрицы выводятся из текстового файла.Результаты выводить на экран и в результатирующий текстовый файл.Матрицу выводить до и после преобразований. ...
C++ Считать текст из файла и вывести на экран все слова текста, начинающиеся с гласной буквы Напиcать программу, которая считывает текст из файла и выводит на экран все слова текста, начинающиеся с гласной буквы, меняя ее на прописную букву. Добавлено через 7 минут #include <iostream.h> ... http://www.cyberforum.ru/cpp-beginners/thread401695.html
C++ передать массив в функцию по значению
Подскажите,пожалуйста. Нужно с клавиатуры ввести число строк-столбцов ( т е они меняются в зависимости от условия) и передать массив в функцию. Сам массив не меняется в функции. Как его объявить в...
Считывание и запись в файл C++
Доброго времен суток всем экпспертам в области С++ Имеется задания нужно записать числа(псевдослучайные) в текстовый файл "vvod" и отрицательные числа заменить на ноль и вывести в следующий файл...
C++ подскажите как правильно записать http://www.cyberforum.ru/cpp-beginners/thread401688.html
Суть в чем, нужно текст последовательно циклически сдвинуть на m / 2 позиций, и построить новые m / 2 − 1 строк. Например в С++ это просто реализовать через append: for (int i=1; i<10; i++){ ...
C++ 4 задачи по основам программирования Задание 1. Составить блок-схему и программу нахождения произведения всех членов арифметической прогрессии от 10 до 30 с шагом 1,15 Задание 2. Изображение Задание 3. Дана матрица А(n,m).... подробнее

Показать сообщение отдельно
Lawlietb32
14 / 14 / 2
Регистрация: 31.03.2011
Сообщений: 118
08.12.2011, 02:24  [ТС]
Сделал так:
C++
1
d = new int[20]; - мне этого достаточно для работы
и удалил эту строку
C++
1
d = (int*)realloc(d, (size_t)i);
А вот почему некорректно используется d в функции Training не понимаю(

p.s. после проверки программа не сваливается с ошибкой, но просто зависает!

Добавлено через 13 минут
Исправил зависание (бесконечный цикл...) Но при закрытии программы снова ошибку показывает

C++
1
2
3
4
5
6
7
8
9
10
11
12
extern "C" _CRTIMP int __cdecl _CrtIsValidHeapPointer(
        const void * pUserData
        )
{
        if (!pUserData)
            return FALSE;
 
        if (!_CrtIsValidPointer(pHdr(pUserData), sizeof(_CrtMemBlockHeader), FALSE))
            return FALSE;
 
        return HeapValidate( _crtheap, 0, pHdr(pUserData) );
} // ЗДЕСЬ УКАЗАТЕЛЬ
Добавлено через 10 минут
Цитата Сообщение от ISergey Посмотреть сообщение
PS. Чтобы нормально изменить указатель в функции то так сделайте

C++
1
2
3
4
5
6
7
8
9
10
11
void Training(double *W, double **Pixs, int **d, int N);
....
void Training(double *W, double **Pixs, int **d, int N){
....
   delete [] *d;
   *d = new int[size];
    .....
....
}
...
Training(Weights, Pixels, &d, rCount);
В этой функции я просто использую данные, которые должен получить в функции - ReadTXT
Поэтому я сделал так:
C++
1
2
3
4
5
6
7
8
9
10
double **ReadTXT(FILE *f, int *Rows, int **d)
{
                      ............................
        delete [] *d;
        *d = new int[i];
        ...........................
 
                        *d[i] = atoi(ddd);
               ...........................
}
C++
1
Pixels = ReadTXT(f, &rCount, &d);
Но выкидывает ошибку на строке
C++
1
*d[i] = atoi(ddd);
Unhandled exception
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru