C++ 调用约定错误!!(ESP的值未在函数调用中正确保存)
我不熟悉用c++创建DLL库,这是我的代码C++ 调用约定错误!!(ESP的值未在函数调用中正确保存),c++,visual-studio-2010,dll,calling-convention,C++,Visual Studio 2010,Dll,Calling Convention,我不熟悉用c++创建DLL库,这是我的代码 //header.h class A { virtual int funct()=0; //Pure virtual function }; 项目B(编译时生成DLL) 现在我创建一个类A的实例并调用funct(),然后我得到了一个错误 Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call. This is us
//header.h
class A
{
virtual int funct()=0; //Pure virtual function
};
项目B(编译时生成DLL)
现在我创建一个类A的实例并调用funct(),然后我得到了一个错误
Run-Time Check Failure #0 - The value of ESP was not properly saved across a
function call. This is usually a result of calling a function declared with
one calling convention with a function pointer declared with a different calling
convention.
如何使用调用约定\u cdecl或\u stdcall解决此问题。我对此进行了大量搜索,但找不到解决此错误的确切方法。请帮助我解决此问题
提前感谢
A
是一个纯粹的抽象类(接口),您不能初始化抽象类,也不能直接使用其方法。您应该初始化其派生的B_DLL
。您可以显示实例化实现A
抽象接口的对象的代码吗?
Run-Time Check Failure #0 - The value of ESP was not properly saved across a
function call. This is usually a result of calling a function declared with
one calling convention with a function pointer declared with a different calling
convention.