6 / 6 / 2
Регистрация: 29.03.2012
Сообщений: 101
|
||||||
1 | ||||||
Передать шаблон std::array в другой шаблон08.03.2019, 11:13. Показов 2687. Ответов 5
Метки шаблоны кода (Все метки)
Шаблон std::vector передать получается:
0
|
08.03.2019, 11:13 | |
Ответы с готовыми решениями:
5
Реализовать шаблон Array Расстановка девяти чисел (Turbo C) Выводит ошибку using Matrix = std::array<std::array<int, 3>, 3>; и bool NextSet Std::thread шаблон класса Шаблон как тип контейнера std::set |
18895 / 9853 / 2410
Регистрация: 30.01.2014
Сообщений: 17,296
|
||||||
08.03.2019, 13:15 | 2 | |||||
HelloWorld56, вот прямо так напрямую - не получится. У шаблонов разный набор параметров, они не совместимы (у array - второй параметр - это его размер, а у вектора - аллокатор) и под заданный вами паттерн не подойдут.
Можно сделать через небольшой адаптер: Кликните здесь для просмотра всего текста
Но прежде, чем это делать, надо подумать, а нужно ли это вообще: ведь работа с vector и array может довольно сильно различаться. И трудности их обобщения красноречиво говорят о том, что мы пытаемся скрестить ужа и ежа.
1
|
610 / 415 / 151
Регистрация: 11.01.2019
Сообщений: 1,746
|
|
08.03.2019, 13:34 | 3 |
А зачем переделывать? Или может хотите специализировать для своего типа?
0
|
6 / 6 / 2
Регистрация: 29.03.2012
Сообщений: 101
|
|
08.03.2019, 13:38 [ТС] | 4 |
Так мне и не нужно обобщать vector и array в одном шаблоне. Меня интересует как передать array в шаблон, который принимает только array, а не vector и array.
0
|
18895 / 9853 / 2410
Регистрация: 30.01.2014
Сообщений: 17,296
|
||||||
08.03.2019, 13:40 | 5 | |||||
Сообщение было отмечено HelloWorld56 как решение
Решение
Это другой разговор.
Вот:
0
|
875 / 461 / 91
Регистрация: 10.06.2014
Сообщений: 2,669
|
|
08.03.2019, 14:01 | 6 |
HelloWorld56,
Если тип заранее известен, то думаю нет смысла использовать шаблоны для этого типа (т.е не передавать array в качестве шаблонного аргумента).
0
|
08.03.2019, 14:01 | |
08.03.2019, 14:01 | |
Помогаю со студенческими работами здесь
6
Отсутствует список аргументов для шаблон класса std::vector Шаблоны функций, Ошибка: для использования класса шаблон требуется список аргументов шаблон Шаблон стека изменить на шаблон очереди Подключение cpp файла дает ошибку "std::array: слишком мало аргументов шаблон" Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |