Руководство по выводу аргументов шаблона функции C ++ - PullRequest
0 голосов
/ 24 января 2020

У меня есть функция и простой класс

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);

. Мне не удалось найти какой-либо совет относительно того, какой синтаксически правильный способ предоставления такого руководства по выводам. Спасибо за любой совет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...