gpt4 book ai didi

c++ - 为什么在 VC++ 调试器上计算表达式时会出现 "member function not present"错误?

转载 作者:可可西里 更新时间:2023-11-01 18:39:21 27 4
gpt4 key购买 nike

我在另一个 DLL MyDll.dll 上有一个静态方法 MyClass::myMethod()。在我的代码中,我调用了这个方法,它编译并运行良好。

但是当我在即时窗口(或监 window 口)中尝试 MyClass::myMethod() 时,我总是得到:

MyClass::myMethod()
CXX0052: Error: member function not present

这是为什么?

更新:我发现当我使用 context operator它有效:

{,,MyDLL}MyClass::myMethod()

不过,我不太确定为什么需要它,所以我要稍等片刻,看看是否有人有很好的解释。

更新 2:我被要求提供更多信息。不幸的是,我所描述的几乎是我所有的。这是在第三方代码中。驻留在不同 DLL 上的方法声明如下:

class MyClass
{
public:
// ...
_declspec(dllimport) static const char *getDirectory(void);
}

它是这样调用的:

MyClass::getDirectory ()

我还没有得到来源。它是在VC++9下以Debug模式编译的。

最佳答案

好吧,我不确定为什么,但调试器不够智能,无法知道该类在另一个 DLL 中,因此您必须使用 context operator 明确告诉它:

{,,MyDLL}MyClass::myMethod()

关于c++ - 为什么在 VC++ 调试器上计算表达式时会出现 "member function not present"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1051611/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com