Erro C2695 do compilador
'function1': a função virtual principal e a 'function2' diferem apenas em sua convenção de chamada
A assinatura de uma função em uma classe derivada não pode substituir uma função em uma classe base e alterar a convenção de chamada.
A seguinte amostra gera C2695:
// C2695.cpp
class C {
virtual void __fastcall func();
};
class D : public C {
virtual void __clrcall func(); // C2695
};