Kompilatorfel C2896

"function1" : kan inte använda funktionsmallen "function2" som argument

Anmärkningar

En funktionsmall kan inte vara ett argument till en annan funktionsmall.

Det här felet är föråldrat i Visual Studio 2022 och senare versioner.

Examples

I följande exempel genereras C2896:

// 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 kan också inträffa när du använder generiska läkemedel:

// 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
}