![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| papam |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 104 Регистрация: 2.2.2006 Где: Украина::Запорожь е Репутация: 1 Всего: 4 |
Я добавил в класс функцию Search(поиск элемента) и функцию insert(удаление элемента) программа выдает ошибки:
error C2511: 'Search' : overloaded member function 'void (void)' not found in 'List' error C2065: 'Next' : undeclared identifier error C2440: 'initializing' : cannot convert from 'int' to 'struct Element *' Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast error C2227: left of '->Next' must point to class/struct/union error C2227: left of '->Next' must point to class/struct/union error C2541: delete : cannot delete objects that are not pointers Error executing cl.exe. Что я не правильно написал? Помогите их исправить или подскажите как лучше написать эти функции пожалуста!!! Вот программа:
--------------------
No Fucking Future |
|||
|
||||
| adonin |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 166 Регистрация: 16.12.2005 Где: Новочеркасск Рост овская обл. Репутация: 2 Всего: 5 |
Во первых: В описании класса метод Search() объявлен как void Search(List Head,int target);
А реализуется метод void Search(), который не объявлен (забыл про параметры) Во вторых: Next - это свойство класса Element. Поэтому надо писать:
В третьих: в методе insert() параметры: int before,int discard. А Вы рассматриваете их как указатели на объекты. Нужно так: void List::insert(Element * before, Element * discard) Не забудьте исправить прототип метода в объявлении класса. Ну, вроде бы и всё. --------------------
Тот, кто слизывает мед с крапивы, платит за него слишком дорого. (Томас ФУЛЛЕР) |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Убери квалификаторы List:: из определения класса.
-------------------- ... |
|||
|
||||
| papam |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 104 Регистрация: 2.2.2006 Где: Украина::Запорожь е Репутация: 1 Всего: 4 |
Спасибо Adonin! Попробую.
--------------------
No Fucking Future |
|||
|
||||
| papam |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 104 Регистрация: 2.2.2006 Где: Украина::Запорожь е Репутация: 1 Всего: 4 |
Исправил ошибки,тепереь прога выглядит:
Ошибки: error C2511: 'Search' : overloaded member function 'void (struct Element *,struct Element *)' not found in 'List' : see declaration of 'List' error C2275: 'Element' : illegal use of this type as an expression see declaration of 'Element' Error executing cl.exe. --------------------
No Fucking Future |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
Э не понял, а зачем в этом коде:
ты используешь 'List::'? Кстати тебе на эту ошибку еще Earnest указывала. Это сообщение отредактировал(а) bsa - 13.4.2006, 20:46 |
|||
|
||||
| papam |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 104 Регистрация: 2.2.2006 Где: Украина::Запорожь е Репутация: 1 Всего: 4 |
А как передать символы в функцию insert которые нужно удалить?
--------------------
No Fucking Future |
|||
|
||||
| MAKCim |
|
||||||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
insert - это удаление?? передать можно просто char если один символ
можно эллипсис использовать (извращение)
можно передать предикат (если он выполняется над очередным символом - он удаляется) ... -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
||||||
|
|||||||
| papam |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 104 Регистрация: 2.2.2006 Где: Украина::Запорожь е Репутация: 1 Всего: 4 |
Как функции void main() указать какие символы удалять ?
--------------------
No Fucking Future |
|||
|
||||
| papam |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 104 Регистрация: 2.2.2006 Где: Украина::Запорожь е Репутация: 1 Всего: 4 |
Помогите дописать функцию void main(),пожалуста!!!
--------------------
No Fucking Future |
|||
|
||||
| MAKCim |
|
||||||||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
вызов в linux/unix:
в винде аналогично пример
-------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
||||||||
|
|||||||||
| bsa |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
to papam
Настоятельно рекомендую купить книгу по C/C++ для начинающих. Так как ответы на задаваемые вопросы находятся в самом начале этих книг.
Результат работы программы (допустим, собранной под именем test), запущенной сделующим образом:
(Для тех кто с unix не работал, объясняю, что $ - это приглашение коммандной строки) |
||||
|
|||||
| adonin |
|
||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 166 Регистрация: 16.12.2005 Где: Новочеркасск Рост овская обл. Репутация: 2 Всего: 5 |
Да, блин!!! papam, Почитай какую нибудь книгу по C++!!! Ошибки глупейшие!!!
Тебе же сказано английским языком: "Смотри объявление класса List". У тебя там объявлен метод Search(List Head,int target) а реализуешь ты метод Search(Element*Head,Element* target). Типы параметров не соответствуют. Вот он и говорит тебе "Перегруженный член класса не найден в List". Он не может найти объявление метода с такими параметрами. Типы параметров должны совпадать. Во вторых:
Element это не объект, а имя класса. Ты для чего параметры передавал Element* before,Element*discard? Делай так:
Логику отлаживай сам. --------------------
Тот, кто слизывает мед с крапивы, платит за него слишком дорого. (Томас ФУЛЛЕР) |
||||||
|
|||||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |