There are two template class A and B. How to enforce them to be instantiated to the same type without nesting one with another? e.g. If I define the two class like the following:
template <class T>
class A {};
template <class T>
class B {};
Then it is possible that the user may do something like this A<int> a;
and B<float> b;
I would like to force A and B to have exactly the same type, but I do NOT want them to be nested within each other. So when someone uses these two class, A and B must have the same type. Is there any way to do that? And what is a good practice to design class like these?
Thanks
You don't have to nest them in one another, but you could nest them within a third type:
Client just access via C: