Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
template<class LogType>
class initializator{};
лучше написать код, который выдает ошибку, если такой шаблон инстанциируется. Потому что вкупе с вашим решением для clear и buffer код типа Logger<int>::buffer() прекрасно компилируется. А может лучше вообще убрать такой шаблон, который используется только для своей полной специализации, и написать 3 отдельных класса?template<class LogType>
class initializator;
Ух ты, какой элегантный способ, я, честно говоря, думал про какой-нибудь костыль типа:template<class LogType> class initializator;
template<typename T>
struct always_false : public std::false_type {
};
template<class LogType>
class initializator {
static_assert(always_false<initializator>::value, "Some error message");
};
не должно быть ситуаций, когда им попытаются воспользоваться, ровно как и конструктором копированияВ теории можно воспользоваться внутри функций-членов Logger.
Logger с функциями-членами, которых нет