![]() |
|
Модераторы: bsa |
![]()
|
|
| stat007 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 521 Регистрация: 9.10.2008 Репутация: -2 Всего: -4 |
Программа чёта выдаёт ошибку в строке *, подскажите почему:
|
|||
|
||||
| Fazil6 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 7 Всего: 60 |
||||
|
||||
| Acer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 652 Регистрация: 5.9.2007 Где: UA::DN Репутация: нет Всего: 8 |
*тут я был не прав*
Это сообщение отредактировал(а) Acer - 10.12.2008, 19:12 |
|||
|
||||
| Kallikanzarid |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 240 Регистрация: 9.11.2008 Репутация: 2 Всего: 3 |
1) вместо p[i] = ob, очевидно, должно идти p[i] = ob[i]
2) По умолчанию в случае нехватки памяти new не возвращает NULL, а поднимает исключение std::bad_alloc. Поэтому либо лови исключение, либо используй p = new<nothrow> myclass[10] - эта версия new как раз возвращает NULL при неудаче. 3) В твоем классе нет оператора присваивания, аксессор не помечен как const, конструктор с одной переменной не помечен как explicit (хотя последнее - не всегда плохо). Также ты не используешь список инициализаторов. Все это делает твой код неэффективным (в теории, конечно, для таких игрушечных классов это не так важно). 4) Еще мелочь - в цикле лучше использовать ++i, а не i++. Для обычных переменных это абсолютно неважно, но лучше привыкай сразу, ибо итераторы STL подобное не прощают. Добавлено через 1 минуту и 31 секунду Acer, как бы тебе по-мягче сказать... Ты... эээ... хм... не прав. Да, вот! Ты не прав. |
|||
|
||||
| stat007 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 521 Регистрация: 9.10.2008 Репутация: -2 Всего: -4 |
ок! спасибо!
а ещё такой вопрос: как инициализировать массив в данной программе, ну что бы выводилось 1 2 3 4 5 и т.д. ?? |
|||
|
||||
| Kallikanzarid |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 240 Регистрация: 9.11.2008 Репутация: 2 Всего: 3 |
p[i] = myclass( i )
или p[i] = i; // если твой конструктор не помечен как explicit или ты определил оператор присваивания |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |