![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| NiCketT |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 10.9.2007 Репутация: нет Всего: нет |
Собственно есть вот-такие классы
Компилятор матерится на строку std::string m=country->GetName();, говорит что use of undefined type 'coins::Country' и left of '->GetName' must point to class/struct/union/generic type. Самое интересное что при написании кода подсказки с методами класса таки всплывают, да и код приведенный ниже работает
Че за фигня? Полная версия кода в архиве. Это сообщение отредактировал(а) NiCketT - 21.5.2008, 20:34 Присоединённый файл ( Кол-во скачиваний: 2 )
coins.zip 16,40 Kb |
||||
|
|||||
| Rififi |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1254 Регистрация: 9.3.2008 Репутация: 11 Всего: 36 |
void setCountry(coins::Country* country)
в чём глубинный смысл этой записи? |
|||
|
||||
| NiCketT |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 10.9.2007 Репутация: нет Всего: нет |
устанавливает обратную ссылку на город |
|||
|
||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 41 Всего: 154 |
а если так? |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 17 Всего: 110 |
для компиляции (или хотя бы определения корректности) этой строки уже нужна информация о том, что есть, а чего нет в классе Country поэтому этот метод должен быть определён после описания класса Country -------------------- qqq |
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 15 Всего: 118 |
void setCountry(coins::Country* country)
на что намекал Rififi -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| NiCketT |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 10.9.2007 Репутация: нет Всего: нет |
спасибо |
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 8 Всего: 72 |
Компиляция классов идёт в два прохода (второй проход по внутреннему представлению), поэтому при компиляции метода setCountry() эта информация уже будет. Проблема в том, что coins - это (видимо) namespace и поле в классе City. Нужно переименовать либо namespace, либо поле класса. |
|||
|
||||
| NiCketT |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 10.9.2007 Репутация: нет Всего: нет |
А можно еще пару вопросов?
1. Как правильно удалять память? У меня выделение памяти идет строкой if (map[x][y]) tmpmatrix[x][y]=new unsigned[k]; (матрица указателей), а удаление if (tmpmatrix[x][y]) delete[] tmpmatrix[x][y];. Вот как раз при удалении и вылетает.
2. Какими методами(конструкторами, операторами) должен обладать класс чтоб он правильно сортировался внутри вектора? Уменя сортировка не проходит :-( |
|||
|
||||
| jonie |
|
||||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 15 Всего: 118 |
просто вот это не очень хороший код:
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
||||||||
|
|||||||||
| NiCketT |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 10.9.2007 Репутация: нет Всего: нет |
Непойму еще одну весчь. Есть код
и
Соттветственно если строка cout<<" clean city"<<endl; то после нее должна выполнятся cout<<"Add city to map ok"<<endl;, так же? Но почему в результе сразу после вывода clean city вылетает окно с ошиькой???? + к тому же не работает ниодин деструктор (я их пока закоментировал чтоб не мешали) и сортировка вектора (тож закоментировано). С чем это все связано? Прикол еще в том, что прога уже однажды выдавала правильные результаты для первого набора. На второй не переходила из-за какихто ошибок в деструкторе, только я так и не понял из-за каких. Вообщем помню что потом гдет добавил какую-то строчку и она начала чудить вот-такое Присоединённый файл ( Кол-во скачиваний: 2 )
coins2.zip 16,74 Kb |
||||
|
|||||
| NiCketT |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 10.9.2007 Репутация: нет Всего: нет |
С вопросом конструкторов разобрался. Осталось:
1. Решить проблемы с нерабочими деструктороми. 2. Узнать почему не сортируется вектор. 3. Выяснить почему выполняется только первый тест из набора (наверное из-за нерабочего деструктора) Будут идеи? Присоединённый файл ( Кол-во скачиваний: 3 )
coins.zip 4,96 Kb |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |