Czy jest jakiś sposób aby wymusić używanie danej klasy tylko z konkretnymi typami?
Chcicałbym by klasa mogła być używana tylko ze stringami i intami, a każda inna próba skończy się informacją dla użytkownika?
Da się to zrobić za pomocą asercji, jeżeli tak to w jaki sposób?
template<typename T, typename V>
class Foo {
public:
Foo(T t, V v) : t(t), v(v) {};
private:
T t;
V v;
}
Foo<string, string>("foo", "bar") {}; //Ok
Foo<int, int>(1, 1) {}; //Ok
Foo<double, double>(1.1, 1.2) {}; //Error