0 / 0 / 0
Регистрация: 06.06.2022
Сообщений: 7
|
||||||
1 | ||||||
Список переменных через шаблон06.06.2022, 23:16. Показов 1229. Ответов 10
Здравствуйте. Пытаюсь сделать связной список с шаблоном. То есть связной список, который будет хранить в себе переменные любого типа (кроме таких типов как std::deque, std::list, std::vector, std:air, std::tuple и тому подобные).
Однако, в процессе написания кода, возникла ошибка: "Field has incomplete type 'void'" (строка 14). Не знаю как пофиксить эту ошибку. Вот сам код:
0
|
06.06.2022, 23:16 | |
Ответы с готовыми решениями:
10
Шаблоны функций, Ошибка: для использования класса шаблон требуется список аргументов шаблон "LinkedList": для использования класс шаблон требуется список аргументов шаблон Ошибка при компиляции:"C2955 "Tree": для использования класс шаблон требуется список аргументов шаблон" Выделить из слова наименование переменных и вставить в шаблон Разработать шаблон класса “множество” (реализация через список) |
фрилансер
5802 / 5316 / 1093
Регистрация: 11.10.2019
Сообщений: 14,196
|
||||||
07.06.2022, 08:57 | 2 | |||||
нельзя определить поле типа
void а так подойдёт?
0
|
0 / 0 / 0
Регистрация: 06.06.2022
Сообщений: 7
|
|
07.06.2022, 12:29 [ТС] | 3 |
0
|
07.06.2022, 13:10 | 4 | |||||
надо перебирать что внутри
0
|
0 / 0 / 0
Регистрация: 06.06.2022
Сообщений: 7
|
||||||
07.06.2022, 13:30 [ТС] | 5 | |||||
Именно по этому я хочу использовать шаблон, чтобы ничего не проверять. Что если тип числа: long long int или long int или double или float?
Тогда у меня код будет выглядеть как-то так:
0
|
6340 / 3511 / 1427
Регистрация: 07.02.2019
Сообщений: 8,977
|
||||||
07.06.2022, 13:58 | 6 | |||||
2
|
0 / 0 / 0
Регистрация: 06.06.2022
Сообщений: 7
|
||||||
07.06.2022, 14:20 [ТС] | 7 | |||||
А есть такая возможность - не использовать std::variant? Используя его, я по-сути вынужден вписать туда все типы в c++, чтобы он работал на всю катушку. Кто знает - сколько таких типов в с++ существует.
Есть ли что-то, что работало как: std::list<std::variant<decltype(var)>> ? Какой-нибудь keyword, который включает в себя все типы, которые существуют в С++? Иначе это будет выглядеть как-то так:
0
|
6340 / 3511 / 1427
Регистрация: 07.02.2019
Сообщений: 8,977
|
|
07.06.2022, 14:46 | 8 |
RCyberCPP, c++ - статически типизированный язык, не нужно на него натягивать идиомы динамически типизированных языков. Или поменяйте язык.
1
|
фрилансер
5802 / 5316 / 1093
Регистрация: 11.10.2019
Сообщений: 14,196
|
|
07.06.2022, 14:47 | 9 |
конечно же есть такая возможность. Всего то лишь - написать свою версию std::variant
0
|
0 / 0 / 0
Регистрация: 06.06.2022
Сообщений: 7
|
|
07.06.2022, 16:30 [ТС] | 10 |
Ну это упрощает все в несколько раз, но вот...
... Я не очень разбираюсь в лямбда функциях, но что тут происходит?
0
|
6340 / 3511 / 1427
Регистрация: 07.02.2019
Сообщений: 8,977
|
||||||
07.06.2022, 17:01 | 11 | |||||
Аналог(почти):
Или еще проще: тот самый switch, которого вы хотели избежать, генерируется автоматически посредством "шаблонной магии"
1
|
07.06.2022, 17:01 | |
07.06.2022, 17:01 | |
Помогаю со студенческими работами здесь
11
вставка переменных в шаблон Подстановка переменных в шаблон [Smarty] Передача переменных в шаблон Шаблон Handlebars – Использование переменных для подключения страниц Создать шаблон класса, который находит максимальное значение из 3 переменных Функции посчитывающие количество вхождений подстроки в строку, реализация через char* и через шаблон Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |