Ped*_*ino 7 c++ debugging visual-c++
我MyClass::myMethod()
在另一个DLL上有一个静态方法MyDll.dll
.在我的代码中,我调用此方法,它编译并运行正常.
但是当我MyClass::myMethod()
在即时窗口(或观察窗口)中尝试时,我总是得到:
MyClass::myMethod()
CXX0052: Error: member function not present
Run Code Online (Sandbox Code Playgroud)
这是为什么?
更新:我发现当我使用上下文运算符时,它可以工作:
{,,MyDLL}MyClass::myMethod()
Run Code Online (Sandbox Code Playgroud)
我不确定为什么需要它,所以我要稍等一下,看看是否有人有一个很好的解释.
更新2:我被要求提供更多信息.不幸的是,我所描述的几乎就是我所拥有的一切.这是第三方代码.该方法驻留在不同的DLL上,声明如下:
class MyClass
{
public:
// ...
_declspec(dllimport) static const char *getDirectory(void);
}
Run Code Online (Sandbox Code Playgroud)
它被调用如下:
MyClass::getDirectory ()
Run Code Online (Sandbox Code Playgroud)
我没有消息来源.它是在VC++ 9下的Debug模式下编译的.
好吧,我不知道为什么,但是调试器不够智能,无法知道该类位于另一个 DLL 中,因此您必须使用上下文运算符明确告诉它:
{,,MyDLL}MyClass::myMethod()
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4301 次 |
最近记录: |