44 / 44 / 17
Регистрация: 13.09.2012
Сообщений: 196
|
|||||||||||
1 | |||||||||||
Прототип не имеет соответствия в классе22.09.2012, 19:45. Показов 2368. Ответов 28
Метки нет (Все метки)
Реализую класс список
Вообщем возникла проблема, не могу исправить ошибку, на которую указывает компилятор
tlist.cpp:3:14: ошибка: прототип для «node* TList::operator[](int)» не имеет соответствия в классе «TList» tlist.h:30:19: ошибка: претендент: TList::node* TList::operator[](int) tlist.cpp:4:14: ошибка: прототип для «node* TList::getN(int)» не имеет соответствия в классе «TList» tlist.h:31:19: ошибка: претендент: TList::node* TList::getN(int) tlist.cpp:143:14: ошибка: прототип для «node* TList::operator[](int)» не имеет соответствия в классе «TList» tlist.h:30:19: ошибка: претендент: TList::node* TList::operator[](int) tlist.cpp:154:14: ошибка: прототип для «node* TList::getN(int)» не имеет соответствия в классе «TList» tlist.h:31:19: ошибка: претендент: TList::node* TList::getN(int) Не могу понять почему не имеет соответствия???
0
|
22.09.2012, 19:45 | |
Ответы с готовыми решениями:
28
Как можно определить прототип свойства в классе Создать объект прототип робота, который изготовлен из определенного материала, имеет имя, пол, оружие, умеет стрелять, здороваться и прощаться Перегрузить операцию сложения в базовом классе, который имеет два наследника Доля отличников в классе больше 2/5, но меньше 3/7, а всего в классе не более 15 учеников. Сколько всего в классе учеников? |
44 / 44 / 17
Регистрация: 13.09.2012
Сообщений: 196
|
|
23.09.2012, 07:39 [ТС] | 3 |
Исправил, теперь выдается следующее
C:\tlist.cpp|3|error: declaration of 'TList::node* TList::operator[](int)' outside of class is not definition| C:\tlist.cpp|4|error: declaration of 'TList::node* TList::getN(int)' outside of class is not definition| C:\tlist.cpp|149|error: expected constructor, destructor, or type conversion before '*' token| ||=== Build finished: 3 errors, 0 warnings ===|
0
|
23.09.2012, 08:37 | 4 | ||||||||||
Описания самих функций поменяй по аналогии.
Добавлено через 1 минуту Заметил ошибку:
Добавлено через 3 минуты Да и вообще оба метода:
0
|
44 / 44 / 17
Регистрация: 13.09.2012
Сообщений: 196
|
||||||
23.09.2012, 10:07 [ТС] | 5 | |||||
Не понял, а где еще менять?
Все равно не работает, ошибки те, которые я написал выше
Нет наверное необходимости, но мне бы откомпилировать ее хотя бы На всякий случай выложил весь проект
0
|
23.09.2012, 10:16 | 6 | ||||||||||
3 и 4 строки вообще не нужны. Это бред какой-то:
1
|
23.09.2012, 10:22 | 7 | ||||||||||
tlist.h
tlist.cpp
1
|
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
||||||
23.09.2012, 10:27 | 8 | |||||
0
|
44 / 44 / 17
Регистрация: 13.09.2012
Сообщений: 196
|
|
23.09.2012, 10:51 [ТС] | 10 |
Я скорее всего ошибаюсь, но например, из функции Insert я не смогу обратиться к функции getN,
потому что она описана ниже, чем Insert поэтому я сверху объявил прототип, чтобы Insert ее видел Только непонятно почему вообще эта ошибка возникает, если прототипы убрать. то все работает если NULL имеет тип int, то мы не можем сравнивать с node*? так? И почему p это новый int? Ведь я же объявил node* p
0
|
44 / 44 / 17
Регистрация: 13.09.2012
Сообщений: 196
|
|||||||||||
23.09.2012, 11:29 [ТС] | 15 | ||||||||||
Возник еще вопрос
Проблема в том, что компилятор не видит cout Хотя я его подключил в заголовочнике
0
|
44 / 44 / 17
Регистрация: 13.09.2012
Сообщений: 196
|
||||||
23.09.2012, 11:34 [ТС] | 17 | |||||
Ага, я сообразил!
Переменная из области видимости цикла, перекрыла переменную в области видимости функцию! Кстати, я еще нашел ошибку for(int i=0, p=head; i < index && p != 0; p=p->next, i++); здесь нужно делать конъюнкцию, иначе цикл никогда не закончится Добавлено через 1 минуту lazybit, ну я до этого делал так
|175|error: 'cout' was not declared in this scope|
0
|
44 / 44 / 17
Регистрация: 13.09.2012
Сообщений: 196
|
||||||||||||||||
23.09.2012, 16:19 [ТС] | 19 | |||||||||||||||
понял, нужно это было сделать в tlist.cpp
Добавлено через 16 секунд теперь работает, спасибо1! Добавлено через 4 часа 41 минуту Ребят, а теперь я шаблонифицирую свой класс вот он
и так
компилятор выдает следующее: tlist.h|214|error: expected constructor, destructor, or type conversion before '*' token|
0
|
23.09.2012, 16:24 | 20 |
Объяви конструктор и деструктор.
0
|
23.09.2012, 16:24 | |
23.09.2012, 16:24 | |
Помогаю со студенческими работами здесь
20
Имеет ли решение система уравнений? Если имеет - найдите корни (Pascal -> C#) Объект не имеет атрибута, хотя он его имеет. Почему так? В классе инициализировать массив, в классе создать функцию вывода массива на экран Как использовать объект класса, созданого в определеном классе, в другом классе Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |