У меня есть два класса, давайте назовем их SomeClass и OtherClass.
SomeClass является шаблоном:
template <typename T> class SomeClass
{
public:
SomeClass (const T& value);
};
OtherClass не шаблонизирован, но использует SomeClass.
class OtherClass
{
public:
OtherClass (const SomeClass& c, const std::string s);
};
Они должны называться следующим образом:
SomeClass<int> some(5);
OtherClass other(some, "hello, world!");
other.doSomethingWithSome();
... Очевидно, это не удастся скомпилировать, так как компилятор должен знать тип SomeClass '...
К сожалениюдля меня тип SomeClass может быть почти любым (хотя число используемых типов ограничено, просто не связано) и может часто меняться в процессе разработки. (Я знаю, я знаю, я полагаю, что я действительно мог бы использовать тип SomeClass и передать его шаблонному OtherClass, но это довольно утомительная работа, поскольку есть много примеров; кроме того, я хотел бы притворяться, что ни один классзнает о работе других. :))
Вопрос прост: как я могу использовать этот синтаксис?(Без необходимости шаблонизировать OtherClass.)