81 / 77 / 34
Регистрация: 13.02.2018
Сообщений: 1,347
1

Template для списка

29.10.2019, 19:46. Показов 3124. Ответов 4
Метки нет (Все метки)

Доброго времени суток, почему этот код не работает?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <string>
#include <iostream>
#include <list>
 
class MyClass
{
public:
    
    template <typename T>
    void show(std::list<T>& l);
};
 
template <typename T>
void MyClass::show(std::list<T>& l)
{
    for (auto it = l.begin(); it != l.end(); it++)
        std::cout << l << ' ';
}
 
int main()
{
    std::list<int> l = { 1,2,3,4,5 };
    MyClass m;
 
    m.show(l);
    return 0;
}
Ошибка C2679 бинарный "<<": не найден оператор, принимающий правый операнд типа "std::list<int,std::allocator<_Ty>>" (или приемлемое преобразование отсутствует)
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.10.2019, 19:46
Ответы с готовыми решениями:

Ошибки: 1) use of class template requires template argument list 2) 'T' : undeclared identifier
Решил подправить свой класс с использованием шаблонов, но столкнулся со следующим косяком. Если я...

Template definition of non-template при использовании частичной спецификации шаблонов
Всем привет! Есть задача написать шаблон класса, принимающего в качестве параметров типа шаблон и...

'MyQueue' : use of class template requires template argument list
Написал код про шаблоны. Не могу понять почему выводит ошибку во время наследования класса. ошибки...

В чем различие template <typename T> от template <class T> ?
Добрый день ! Заметил в новых книгах применение записи template &lt;typename T&gt; вместо template...

4
Мозгоправ
1735 / 1029 / 468
Регистрация: 01.10.2018
Сообщений: 2,138
Записей в блоге: 2
29.10.2019, 19:50 2
Лучший ответ Сообщение было отмечено k0vpack как решение

Решение

Строка 17:
C++
1
        std::cout << *it << ' ';
1
81 / 77 / 34
Регистрация: 13.02.2018
Сообщений: 1,347
29.10.2019, 19:53  [ТС] 3
L0M, оу, да спасибо, не заметил.

А еще, как использовать template для методов в классе которые разделены на .h и .cpp? А то у меня почему-то не компилируеться, получаю ошибку:
Ошибка LNK2019 ссылка на неразрешенный внешний символ
0
Don't worry, be happy
17758 / 10526 / 2030
Регистрация: 27.09.2012
Сообщений: 26,502
Записей в блоге: 1
29.10.2019, 19:54 4
Лучший ответ Сообщение было отмечено k0vpack как решение

Решение

k0vpack, Не собирается проект с шаблонным классом: "undefined reference"
1
Мозгоправ
1735 / 1029 / 468
Регистрация: 01.10.2018
Сообщений: 2,138
Записей в блоге: 2
29.10.2019, 19:55 5
Лучший ответ Сообщение было отмечено k0vpack как решение

Решение

Цитата Сообщение от k0vpack Посмотреть сообщение
как использовать template для методов в классе которые разделены на .h и .cpp?
Шаблонные классы и функции должны лежать в заголовочном файле вместе с реализацией.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.10.2019, 19:55
Помогаю со студенческими работами здесь

Ошибка компиляции: template-id does not match any template declaration
Здравствуйте. Помогите, пожалуйста: #include &lt;iostream&gt; using namespace std; template...

Visual Studio выдаёт ошибку при вынесении объявления функции с template в .h файл. Без template всё работает
Проект содержит три файла: Source.cpp, arrTreat.h, arrTreat.cpp. Source.cpp: #include...

Ошибка с django.Template.Template
Из учебника djbook: http://djbook.ru/ch04s02.html В самом начале представлен пример использования...

MSVC и template template classes
Приветствую. Как в MSVC передать template template класс? Простой пример ...


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

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

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