次のコードを検討してください。
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
?