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


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

"объявление": параметр шаблона "идентификатор" является неоднозначным

Компилятор не может определить тип аргумента шаблона.

Следующий пример приводит к возникновению ошибки C2782:

// C2782.cpp
template<typename T>
void f(T, T) {}

int main() {
   f(1, 'c');   // C2782
   // try the following line instead
   // f<int>(1, 'c');
}

C2782 также может возникать при использовании универсальных шаблонов:

// C2782b.cpp
// compile with: /clr
generic<typename T> void gf(T, T) { }

int main() {
   gf(1, 'c'); // C2782
   // try the following line instead
   // gf<int>(1, 'c');
}