У меня есть функция и простой класс
template <class T, class U>
int foo(T t, U u) {
return t + u;
}
template <class A, class B>
class C : public A {
...
};
C<something, something> c1;
foo(c1, c1);
При вызове foo
с экземпляром C
я бы хотел, чтобы аргумент шаблона был выведен в A
, Базовый класс C
. При создании руководства по выводам, подобного приведенному ниже, оно не компилируется с error: expected initializer
.
template <typename U, typename T, typename V>
int foo(C<U,T>, V) -> int foo<U, V>(U, V);
. Мне не удалось найти какой-либо совет относительно того, какой синтаксически правильный способ предоставления такого руководства по выводам. Спасибо за любой совет.