Kompilatorfel C3738

"calling_convention": Anropskonventionen för den explicita instansieringen måste matcha den för den mall som instansieras

Anmärkningar

Vi rekommenderar att du inte anger en anropskonvention för en explicit instansiering. Om du måste, måste dock samtalskonventionerna matcha.

Example

I följande exempel genereras C3738.

// C3738.cpp
// compile with: /clr
// processor: x86
#include <stdio.h>
template< class T >
void f ( T arg ) {   // by default calling convention is __cdecl
   printf ( "f: %s\n", __FUNCSIG__ );
}

template
void __stdcall f< int > ( int arg );   // C3738
// try the following line instead
// void f< int > ( int arg );

int main () {
   f(1);
   f< int > ( 1 );
}