c++ - 函数调用期间未正确保存 ESP 的值

标签 c++ visual-studio-2010 visual-c++ runtime-error projects-and-solutions

我正在开发一个 Visual Studio 项目 项目 A(编译时生成静态库)

有一个类(class)

using namespace mynamespace;
class projectAclass
{
  virtual int  funct1()=0;  //Pure virtual function
  virtual int funct2()=0;  //Pure virtual function
  virtual int funct3()=0;  //Pure virtual function
};

项目B(编译时生成DLL)

#define projectBclass_DLL __declspec( dllexport )
class projectBclass_DLL projectBclass: public mynamespace::projectAclass
{
  //Definitions of the 3 pure virtual functions are here
  int funct1() 
  {
    //definition go here
  }
  //similarly for funct2 and funct3

  int funct4()
 { //Definition goes here    }
  int funct5()
 { //Definition goes here    }
  int funct6()
 { //Definition goes here    }
};

现在,从其他项目中创建的主函数中,我创建了一个 projectAclass 类的对象,并尝试调用函数 funct1 但我不知道其他一些函数当我尝试调试解决方案并且从 funct4 返回后,我收到此错误

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.

提前致谢

最佳答案

有时您有 calling conventions错误的。有时重建一切就能解决问题。

关于c++ - 函数调用期间未正确保存 ESP 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17446089/

相关文章:

c++ - 声明方法时,C++ 中的 = 0 是什么意思?

c++ - 如何在 C++ 中从 Internet 下载 xml

linux - 在 Linux 中编译 Visual C++ 代码?

c++ - 查找范围内的最大和第二大元素

c++ - Visual Studio 中的条件断点 - 使用非基本数据类型的条件

c++ - 重新哈希时锁定 HashMap

c# - 自定义用户控件

c++ - c++中有指针的析构函数吗?

visual-studio-2010 - TFS-2010 中的 "Merge"按钮不见了?

c++ - 查看我的 C++ 滚动菜单并提供任何提示