Udostępnij za pomocą


Błąd kompilatora C3738

"calling_convention": konwencja wywoływania wystąpienia jawnego musi być zgodna z konwencją wywoływania wystąpienia szablonu

Uwagi

Zaleca się, aby nie określać konwencji wywoływania jawnego wystąpienia. Jeśli jednak musisz, konwencje wywoływania muszą być zgodne.

Przykład

Poniższy przykład generuje kod 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 );
}