Поделиться через


Ошибка компилятора C2784

declaration: не удалось вывести аргумент шаблона для type из type

Компилятор не может определить аргумент шаблона на основе представленных аргументов функции.

В следующем примере показано возникновение ошибки C2784 и приводятся сведения по ее устранению.

// C2784.cpp
template<class T> class X {};
template<class T> void f(X<T>) {}

int main() {
   X<int> x;
   f(1);   // C2784

   // To fix it, try the following line instead
   f(x);
}