複数のテンプレート パラメータを持つテンプレートがあります。
template<typename Appl, typename StoredData>
class Box {
};
パラメータの値は相互に排他的です。つまり、Appl のすべての値に対して、StoredData に許可されるタイプの特定のセットのみがあります。
例: Appl は List、StoredData - double、char Appl は Tree、StoredData - int
コンパイル時にこの制限を適用する方法はありますか? そう、
Box<List, double> - compiles
Box<List, int> - fails
Box<Tree, int> - compiles