Consider the following code :
template<bool AddMembers> class MyClass
{
public:
void myFunction();
template<class = typename std::enable_if<AddMembers>::type> void addedFunction();
protected:
double myVariable;
/* SOMETHING */ addedVariable;
};
In this code, the template parameter AddMembers
allow to add a function to the class when it's true
. To do that, we use an std::enable_if
.
My question is : is the same possible (maybe with a trick) for data members variable ? (in a such way that MyClass<false>
will have 1 data member (myVariable
) and MyClass<true>
will have 2 data members (myVariable
and addedVariable
) ?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…