Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.01.2020, 23:22   #1
jonn342
Пользователь
 
Регистрация: 26.01.2020
Сообщений: 13
Печаль Шаблон как параметр шаблона

Добрый день. Очень интересует момент во время работы с шаблонами. Есть функция:

template < template<typename> typename Class,typename T,typename C>
Class<C> type2type(Class<T> const & ob){
//какой-то код
}

int main()
{
int arr[] = {1,2,3,4,5};
FirstContainer<int> iarr(arr,5);
SecondContainer<string>sarr;
sarr = type2type(iarr);
return 0;
}

При компиляции возникает следующий перечень ошибок:
-Не найдена соответствующая перегруженная функция
-Не удаётся составить аргумент шаблон для Т
-Отсутствуют экземпляры шаблон функции, соответствующие списку аргументов

Объясните, пожалуйста, в чём косяк.
jonn342 вне форума Ответить с цитированием
Старый 27.01.2020, 02:04   #2
Desc
Участник клуба
 
Аватар для Desc
 
Регистрация: 21.11.2007
Сообщений: 1,063
По умолчанию

Цитата:
Сообщение от jonn342 Посмотреть сообщение
Объясните, пожалуйста, в чём косяк.
Первый косяк - оформление поста. При таком оформлении даже читать не хочется.
I am not a wizard, I am just learning.
Desc вне форума Ответить с цитированием
Старый 28.01.2020, 20:21   #3
jonn342
Пользователь
 
Регистрация: 26.01.2020
Сообщений: 13
По умолчанию

Цитата:
Сообщение от Desc Посмотреть сообщение
Первый косяк - оформление поста. При таком оформлении даже читать не хочется.
Спасибо за помощь. Вы очень помогли.
jonn342 вне форума Ответить с цитированием
Старый 28.01.2020, 22:27   #4
Desc
Участник клуба
 
Аватар для Desc
 
Регистрация: 21.11.2007
Сообщений: 1,063
По умолчанию

На здоровье. Вы забыли ознакомиться с правилами этого форума.
I am not a wizard, I am just learning.
Desc вне форума Ответить с цитированием
Старый 29.01.2020, 09:52   #5
Алексей1153
фрилансер
Форумчанин
 
Регистрация: 11.10.2019
Сообщений: 947
По умолчанию

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

Ну и не забывай форматирование кода и тег

А также, что должна делать type2type

Сейчас она делает, по сути, копирование в цикле одного контейнера в другой (метод assign)
Алексей1153 вне форума Ответить с цитированием
Старый 29.01.2020, 10:55   #6
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Он хочет один и тот же алгоритм применять для разных контейнеров.
waleri вне форума Ответить с цитированием
Старый 30.01.2020, 08:15   #7
Алексей1153
фрилансер
Форумчанин
 
Регистрация: 11.10.2019
Сообщений: 947
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
Он хочет один и тот же алгоритм применять для разных контейнеров.
чой-та не похоже ) У него сейчас :
Код:
using T1=SecondContainer<string>;
using T2=FirstContainer<int>;
T1 t1;
T2 t2;
t1 = type2type(t2);
что в STL-терминологии эквивалентно

Код:
t1.assign(t2.begin(),t2.end());
Алексей1153 вне форума Ответить с цитированием
Старый 30.01.2020, 10:24   #8
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Ну хорошо, я перефразирую - он хочет передать ссылку объект и отдельно знать из какого шаблона он сделан и с каким аргументом этого шаблона.
waleri вне форума Ответить с цитированием
Старый 30.01.2020, 11:41   #9
Алексей1153
фрилансер
Форумчанин
 
Регистрация: 11.10.2019
Сообщений: 947
По умолчанию

waleri, тогда не понимаю задачу. Шаблоны для того и, чтобы не знать, какого типа аргументы

а если нужно знать - потребуется корячиться через специализации шаблонов

что-то мне подсказывает, что задача ТС проще, но он придумал себе сложности
Алексей1153 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
template-template partial specialization (шаблон шаблона) looooser Общие вопросы C/C++ 2 29.07.2013 23:59
Вложенный класс в шаблон. Указатель на вложенный класс в возвращаемом значении метода шаблона. Что делать? Asya1994 Помощь студентам 3 09.12.2012 01:43
получение ссылки на функцию из класса шаблона и передача ее как параметр шаблона pror0ck Общие вопросы C/C++ 7 17.06.2012 15:06
Использование файлов XLS в качестве шаблона и отображение этого шаблона в приложении Delphi? vodyara Общие вопросы Delphi 0 23.04.2012 13:13
Шаблон как параметр шаблона Сtrl Общие вопросы C/C++ 7 02.06.2011 22:18