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

Динамический массив структур - ошибка "попытка чтения или записи в защищенную память" - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ В двумерном массиве A вычислить наименьшее абсолютное значение элементов http://www.cyberforum.ru/cpp-beginners/thread1098437.html
В двумерном массиве A, состоящем из n×n целых чисел вычислить: 1) наименьшее абсолютное значение элементов; 2) произведение ненулевых элементов,расположенного в заштрихованной части матрицы (рис. 59). Сформировать новую матрицу B(n×n), каждый элемент которой равен разряду соответствующего элемента матрицы А(n×n). Для матриц А(n×n) найти значение выражения C=(B^T)*A.
C++ Массивы структур - зависает окно консоли Помогите с кодом, товарищи) Проблема с двумя последними функциями( Виснет окно консоли( #include <iostream> #include <conio.h> using namespace std; const int SIZE = 3; enum section{football=1,basketball,atlethism}; http://www.cyberforum.ru/cpp-beginners/thread1098434.html
Устранить ошибку "no match for operator" C++
#include <iostream> #include <string.h> using namespace std; class Firm { public: Firm(); Firm(string n, string a, int p, string e ); ~Firm(); string GetName();
Создать иерархию классов Шахматная фигура – абстрактный класс, содержащий поле – цвет. Создать производные классы C++
Создать иерархию классов Шахматная фигура – абстрактный класс, содержащий поле – цвет. Создать производные классы все фигуры, содержащие свое название и координаты позиции на доске. Определить конструктор копирования, оператор присваивания через соответствующие функции базового класса. Продемонстрировать работу классов. #include <iostream> #include <Windows.h> using namespace std; class...
C++ Для класса задать конструктор и деструктор http://www.cyberforum.ru/cpp-beginners/thread1098417.html
Ребята,нужна помощь в написании программы. Для класса задать конструктор(для выделения памяти,открытия файлов,задания начальных значений при необходимости) и деструктор(для освобождения памяти,закрытия файлов,печати последних значений). #include <iostream> #include <string> using namespace std; string k="Внимание!Пенсионный возраст";
C++ Создать иерархии наследования: самолет, корабль-водный самолет или исправить ошибки a) Создать иерархии наследования: самолет, корабль - водный самолет. b) Создать иерархии наследования: транспорт - самолет, корабль - водный самолет. Вариант а сделал, но теперь не очень понимаю как классы самолёт и корабль поместить под класс транспорт! #include <iostream> #include <Windows.h> using namespace std; class transport { char w; подробнее

Показать сообщение отдельно
AntonChik
1083 / 581 / 21
Регистрация: 11.11.2008
Сообщений: 1,544
17.02.2014, 07:30     Динамический массив структур - ошибка "попытка чтения или записи в защищенную память"
контейнер string в отличие от char[] является так сказать "резиновым" и sizeof() не выдаст как ожидается размер строки, т.к. заранее не известны ни длина, ни максимальная длина (в отличие от char[])
а потому не будет выделен новый объем памяти и выскочит ошибка доступа к невыделенной памяти, что и происходит.

длину каждого конкретного экземпляра string можно узнать с помощью length() и можно от этого плясать, но будет много возни.

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