![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Пользователь
Регистрация: 24.12.2011
Сообщений: 54
|
![]()
Здравствуйте.
У меня есть класс вершина: Код:
Вот код который я написал для примера: vertex* arr_ver[30]; arr_ver[0]->center_x=10; Появляется "access violatoin...." Подскажите, что изменить чтобы избежать этой ошибки и посоветуйте по-возможности еще какие-нибудь способы создания массива классов или его альтернативы. Последний раз редактировалось Stilet; 02.05.2012 в 20:33. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
![]() Код:
Тогда либо так Код:
Код:
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 01.11.2011
Сообщений: 172
|
![]()
Мне не нравится эта строчка. Что ты создаешь таким образом?
vertex* arr_ver[30]; arr_ver[0]->center_x=10; Попробуй создать одномерный массив, элементы которого объекты класса. Тебе надо создать столько объектов класса, сколько будет размерность массива. И надо забивать в каждый элемент массива объект. Ты этого не делаешь. Выражение "массив классов" некорректно, массив объектов класса(классов) так правильнее.
Желание тысяча возможностей, нежелание - тысяча причин
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 24.12.2011
Сообщений: 54
|
![]()
в обоих случаях появляется
[C++ Warning] Dialogs.hpp(437): W8058 Cannot create pre-compiled header: initialized data in header [Linker Error] Unresolved external 'vertex::vertex()' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\UN IT1.OBJ |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 01.11.2011
Сообщений: 172
|
![]()
Ошибка в конструкторе по умолчанию. Посмотри или вылоди посмотрим
Желание тысяча возможностей, нежелание - тысяча причин
|
![]() |
![]() |
![]() |
#6 | |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#7 | |
Пользователь
Регистрация: 24.12.2011
Сообщений: 54
|
![]() Цитата:
Видимо мне серьезно не хватает знаний) "И надо забивать в каждый элемент массива объект" А как это сделать? и вот эту фразу не до конца понял: "Тебе надо создать столько объектов класса, сколько будет размерность массива" Объясни, если можно, подробнее. его реализация отсутствует. разве обязательна реализация конструктора по умолчанию? Вот реализация второго конструктора: Код:
Последний раз редактировалось Stilet; 02.05.2012 в 20:34. |
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 01.11.2011
Сообщений: 172
|
![]()
EUGY хорошо написал на первый :
Код: vertex* arr_ver[30]; for (int i = 30; i-- ![]() arr_ver[i] = new vertex; на второй: vertex arr_ver[30]; Здесь уважаемый указывает размерность массива в 30 элементов, вот тебе и надо создавать 30 объектов класса: vertex v1... vertex v30. Первый вариант лучше.
Желание тысяча возможностей, нежелание - тысяча причин
Последний раз редактировалось Стремящийся; 02.05.2012 в 20:35. Причина: Додумал |
![]() |
![]() |
![]() |
#9 | |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
![]() Цитата:
Не нужна, тогда убирай прототип. Компиль подставит свою реализацию. |
|
![]() |
![]() |
![]() |
#10 | |
Пользователь
Регистрация: 24.12.2011
Сообщений: 54
|
![]() Цитата:
но и при этом появляется ошибка, и заключается она, как мне кажется, в конструкторе по умолчанию. Или нет? |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Массив из классов | DeMoHoJIoG | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 12.03.2012 18:19 |
Сохранить массив классов в файл | Casper-SC | Общие вопросы .NET | 42 | 21.03.2010 09:27 |
Передать массив базового абстрактного класса функциям производных классов | mishutka999 | Общие вопросы C/C++ | 2 | 01.12.2009 14:08 |
Создание классов и использование объектов классов при написании программ в среде C++. | Frozen inside | Помощь студентам | 0 | 16.04.2009 23:18 |
Массив классов | nns2009 | Общие вопросы C/C++ | 15 | 03.02.2009 00:47 |