Рассмотрим следующий код:
template<bool AddMembers> class MyClass
{
public:
void myFunction();
template<class = typename std::enable_if<AddMembers>::type> void addedFunction();
protected:
double myVariable;
/* SOMETHING */ addedVariable;
};
В этом коде параметр шаблона AddMembers позволяет добавить функцию к классу, когда он true. Для этого мы используем std::enable_if.
Мой вопрос: так же возможно (возможно, с трюком) для переменной данных? (таким образом, что MyClass<false> будет иметь 1 элемент данных (myVariable) и MyClass<true> будет иметь 2 элемента данных (myVariable и addedVariable)?