Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 06.10.2014
Сообщений: 101
1

Не могу исправить ошибки(

20.05.2015, 07:32. Показов 558. Ответов 4
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
List.h (декларация класса)
 
#pragma once
template <typename T>
class List : public list <T> {
public:
void insert(T);
//function to delete an item from the list
iterator deletee(iterator);
//print function list
void print();
};

C++
1
2
3
4
5
6
List.cpp  (реализация)
 
template <typename T>
iterator List<T>::deletee(iterator item) {
return *this->erase(item);
}
Cтрока 6: Ошибка 12 error C2244: List<T>::deletee: не удается сопоставить определение функции существующему объявлению
Строка 4: Ошибка 11 error C2955: "std::iterator": для использования класс шаблон требуется список аргументов шаблон

Не удается исправить эти ошибки. Что я делаю не так?
На всякий случай прикладываю полный архив с исходниками - http://rghost.ru/7p8cFgrC9
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.05.2015, 07:32
Ответы с готовыми решениями:

Не могу исправить ошибки....
Всем приветик!!! Помогите пожалуйста исправить ошибки......... ))) #include&quot;stdafx.h&quot;...

Не могу исправить ошибки
Я запускаю одно и тоже на одном компе в одной вижуалке - все работает, а в другой не работает, а...

Не могу исправить ошибки
#include &lt;iostream&gt; #include &lt;cstring&gt; #include &lt;stdio.h&gt; #include &lt;cctype&gt; #include...

Не могу исправить ошибки
// Если сумма трёх попарно различных действительных чисел x, y и z меньше 1, // то наименьшее из...

4
55 / 56 / 34
Регистрация: 29.12.2012
Сообщений: 478
20.05.2015, 08:17 2
Как я понимаю в c++ раздельная копиляция, тоесть файлы каждый независимо друг от друга...
когда используеш шаблоны раздельной компиляции небудет,компилятор дойдя до создания обьекта вашего должен знать обьявления оределение!!!
тоесть List.cpp должен быть в List.h

Добавлено через 4 минуты
И еше я когда писал крестики нолики столкнулся с проблемой : у меня был файл board.h и класс class board и из-за этого неработала программа стоило изменить название файла например регистр букв все запустилось
0
Эксперт по математике/физикеЭксперт С++
1950 / 1287 / 371
Регистрация: 16.05.2013
Сообщений: 3,348
Записей в блоге: 6
20.05.2015, 08:18 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
template <typename T>
class List : public std::list<T> {
public:
    void insert(T);
    //function to delete an item from the list
    typename std::list<T>::iterator deletee(typename std::list<T>::iterator);
    //print function list
    void print();
};
 
template <typename T>
typename std::list<T>::iterator List<T>::deletee(typename std::list<T>::iterator item) {
    return *this->erase(item);
}
Хотя по хорошему следует указывать что шаблон list на самом деле есть std::list<T, std::allocator<T> >, но почему-то компилируется и без этого. Надо бы уточнить почему...
0
55 / 56 / 34
Регистрация: 29.12.2012
Сообщений: 478
20.05.2015, 08:18 4
у вас List.h и class List
0
1 / 1 / 0
Регистрация: 06.10.2014
Сообщений: 101
20.05.2015, 15:00  [ТС] 5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
template <typename T>
class List : public std::list<T> {
public:
    void insert(T);
    //function to delete an item from the list
    typename std::list<T>::iterator deletee(typename std::list<T>::iterator);
    //print function list
    void print();
};
 
template <typename T>
typename std::list<T>::iterator List<T>::deletee(typename std::list<T>::iterator item) {
    return *this->erase(item);
}
Пропала только эта ошибка C2955: "std::iterator": для использования класс шаблон требуется список аргументов шаблон
А вот эта все же осталась... =_= C2244: List<T>::deletee: не удается сопоставить определение функции существующему объявлению
0
20.05.2015, 15:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.05.2015, 15:00

Не могу исправить синтаксические ошибки
не могу исправить,помогите пожалуйста. всяко разно пробывала с этими скобками не получилось. ...

не могу исправить ошибки в программе
с массивами что-то совсем напутала, и исправить не получается, целый день сижу, мозг скис уже...

У меня ошибки не могу их исправить
#include &quot;Header.h&quot; movie::movie() { name = &quot; &quot;; info = &quot; &quot;; length = 0; age_of_visitor =...

не могу исправить ошибки в коде
Никак не могу исправить ошибки в коде,помогите. #include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru