Freigeben über


Compilerfehler C2896

'function1': Die Funktionsvorlage 'function2' kann nicht als Argument verwendet werden.

Bemerkungen

Eine Funktionsvorlage kann kein Argument für eine andere Funktionsvorlage sein.

Dieser Fehler ist in Visual Studio 2022 und höheren Versionen veraltet.

Examples

Im folgenden Beispiel wird C2896 generiert:

// C2896.cpp
template<class T1, class T2> void f1(void(*)(T1, T2));
template<class T1, class T2> void f2(T1, T2);

int main() {
   f1(f2);   // C2896
}

C2896 kann auch auftreten, wenn Sie Generika verwenden:

// C2896b.cpp
// compile with: /clr
generic<class T1> void gf1(T1){}
generic<class T1> void gf2(T1){}

int main() {
   gf1(gf2);   // C2896
   gf1(1);   // OK
}