Re: Cоздание базового шаблона минуя специализацию
От: _niko_ Россия  
Дата: 26.10.22 06:36
Оценка:
Здравствуйте, Videoman, Вы писали:

V> Ну сделал я специализацию для своего класса

Все, тут твоя специализация становится тем единственным классом с которым ты работаешь, никакого понятия(знания) о "базовой" реализации нет и быть не должно )
Если есть какой то код находящийся в этой "базовой" реализации который хочется заюзать, значит вытаскивай его на уровень выше:

struct base_api
{
  void print() { std::cout << "base template"; }
};

template <typename type_t>
struct object : base_api
{
  ...
};

template <>
struct object<int> : base_api
{
    void print() { std::cout << "specialized template"; }
};

int main()
{
    object<int> obj;
    obj.base_api::print();

    return 0;
}


Но все же
obj.base_api::print();
— это говорит о том что тут что то пошло не так и лучше бы перепроектировать
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.