Возможен ли сабж в принципе? Что-то туплю. Хочется примерно следующего:
#include <iostream>
template <typename type_t>
struct object
{
void print() { std::cout << "base template"; }
};
template <>
struct object<int>
{
void print() { std::cout << "specialized template"; }
};
int main()
{
object<int> obj; // force base template here
obj.print();
return 0;
}
Временно отменить специализацию и создать базовый вариант шаблона для int-а, что бы код выдал: "base template".
Задачка неожиданно возникла во время игр с std::format. Ребята в комитете придумали, что кастомные форматеры, это специализации классов. Ну сделал я специализацию для своего класса, который тоже является специализацией библиотечного шаблона. А как мне теперь вызвать реализацию по умолчанию для базового шаблона ? Или я что-то не то делаю