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

Аварийное завершение программы, ошибка в функции вывода. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ обработка символьных данных http://www.cyberforum.ru/cpp-beginners/thread369936.html
1) В заданный текст входят только цифры и буквы. Определить, является ли текст десятичной, шестнадцатеричной или двоичной записью целого либо вещественного числа (указать при выводе какого). 2) Ввести вещественное число, преобразовать его в строку. Подсчитать количество разрядов в целой и дробной частях. Найти представление числа в виде мантиссы (по модулю меньшее единицы) и порядка ...
C++ Строки Программе подается строка, состоящая из слов отделенных различным количеством пробелов. Требуется вывести на экран ту же самую строку, но слова должны быть разделены одним пробелом. Ребят, наведите на мысль, как можно это сделать? Просто записывать слова во второй массив и разделять каждое слово пробелом? или можно сделать все в одном массиве? http://www.cyberforum.ru/cpp-beginners/thread369914.html
Виртуальная функция C++
В учебнике дается понятие абстрактного класса, как класса содержащего хоть одну виртуальную функцию. Проблема в том, что я так и не смогла для себя четко понять, что же такое. виртуальная функция. Облазила кучу сайтов, но там все как-то зыбко и непонятно. Объяните, пожалуйста на пальцах, что же это такое.
Массив. Помогите доработать код, подскажите где ошибки. C++
Сама задача проста: Есть массив, состоящий из натуральных чисел, поделенный на 4 части, необходимо переставить блоки ( верхний правый с нижним левым, и верхний левый с нижним правым). Подскажите, что нужно исправить в коде, где ошибки??? #include<math.h> #include<stdio.h> #include<conio.h> void main() int n; printf("Input the dimension of array: ");
C++ Создание программ с графической оболочкой. http://www.cyberforum.ru/cpp-beginners/thread369896.html
Т.е. программы, работающие не в консоли. Знаю о Win API. Какие еще популярные инструменты есть? Есть что-то для новичка проще, чем Win API? Что посоветуете?
C++ Помогите доработать код, работа с массивами. Дан массив из натуральных чисел, переставить блоки массива по диагонали (т.е. 1-3, 2-4); -------------- | 1 | 2 | |_____|_ ____| | 4 | 3 | |_____|_____ | #include<math.h> #include<stdio.h> подробнее

Показать сообщение отдельно
Bers
Заблокирован
21.10.2011, 07:56     Аварийное завершение программы, ошибка в функции вывода.
Цитата Сообщение от romex Посмотреть сообщение
Во первых память выделять принято в конструкторе
Память принято выделять тогда, когда это требуется по задаче. И далеко не всегда, это происходит в конструкторе.

Добавлено через 3 минуты
нашел ошибку.

В функции void Matrix::getData()

int**a=new int*[n]; //объявление локальной переменной.

Вам не нужно ничего объявлять. У вас итак есть переменная класса.

Адрес примет локальная переменная, чей срок жизни быстро закончится. А вот настоящая переменная а, с которой работает метод Print() ничего не знает ни о каких выделялках.


Правильно будит вот так:

//int**a=new int*[n]; //ОШИБКА! НЕ НУЖНО СОЗДАВАТЬ ЛОКАЛЬНУЮ ПЕРЕМЕННУЮ!
a=new int*[n]; //мы сразу присваиваем уже объявленной переменной значение

Добавлено через 2 минуты
Цитата Сообщение от kirdenoff Посмотреть сообщение
Да, что - то я тут намудрил. А я компиллирую на Visual C++ 6.0 и никаких ошибок не возникает. Наверное, компиллятор древний.

Это точно) Компилятор древний. Рекомендую вам его заменить на более новые аналоги. Он уже не вполне соответствует стандарту языка.
 
Текущее время: 15:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru