C++中构造函数的真正签名是什么?

背景:
我尝试挂钩dll的内部功能。我有pdb-Debug文件,并且能够获取函数的确切位置,包括其未修饰的名称。
该函数如下所示:

protected: __cdecl ClassName::ClassName(bool * __ptr64) __ptr64

因此,它显然是一个构造函数。
我尝试了void函数(void * pThisPointer,bool * pBoolPointer),但是由于在简单地转发调用后程序崩溃了(其他函数可以正常工作),所以我认为我的签名是错误的。

您知道用于构造函数的签名(最有可能不是虚拟的)吗?
还是您有其他想法可能出什么问题?

编辑:
我使用x64和Visual Studio 2010编译器,目标编译器应类似于Visual Studio编译器,因为它是Microsoft dll。

最佳答案

您不能直接调用构造函数。就C++而言,构造函数没有名称。换句话说,您不能调用构造函数。许多编译器会创建两个甚至三个不同的函数。你应该打给哪一个?

没有答案。您不能也不能尝试直接从代码中调用构造函数。

10-02 03:54
查看更多