powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Неполная конкретизация шаблона
2 сообщений из 2, страница 1 из 1
Неполная конкретизация шаблона
    #34649602
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вроде бы такого не существует... Тогда пытаюсь обойти это с помощью наследования.

Есть шаблон:
Код: plaintext
1.
2.
3.
    template<typename values_type__, unsigned int values_number__>
    class CfgValuesContainer {
    ...

Конкретизирую его:
Код: plaintext
1.
2.
    template<unsigned int values_number__>
    class CfgStringsContainer : public CfgValuesContainer<std::string, values_number__> {};

Теперь необходимо его передать сюда:
Код: plaintext
1.
2.
3.
            CfgStrings(Section const &section_,
                       CfgStringsContainer<values_number__> const &containerNames_,
                       CfgStringsContainer<values_number__> const &containerDefault_)

Передаю:
Код: plaintext
1.
2.
3.
4.
        CfgStrings< 2 >(s,
                   CfgStringsContainer< 2 >()("")(""),
                   CfgStringsContainer< 2 >()("")("")) {}


На что получаю:
ругань компилятора
c.cpp:45: error: no matching function for call to `cfg::CfgStrings<2>::
CfgStrings(const cfg::Section&,
cfg::CfgValuesContainer<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, 2>&, cfg::CfgValuesContainer<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, 2>&)'
/root/192.168.252.37/common/cfg/cfg.h:224: error: candidates are:
cfg::CfgStrings<2>::CfgStrings(const cfg::CfgStrings<2>&)
/root/192.168.252.37/common/cfg/cfg.h:231: error:
cfg::CfgStrings<values_number__>::CfgStrings(const cfg::Section&, const
cfg::CfgStringsContainer<values_number__>&, const
cfg::CfgStringsContainer<values_number__>&) [with unsigned int
values_number__ = 2]


Т.е. При передаче в качестве аргумента он приводит мой шаблон к предку, и поэтому происходит не соответсвие типов. Что х?
...
Рейтинг: 0 / 0
Неполная конкретизация шаблона
    #34649625
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А, блин, все врубился. В предке переопределен оператор (), который возвращает ссылку на себя. Походу прийдется переопределять подобные операторы в каждой конкретизации
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Неполная конкретизация шаблона
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]