我在我的 C++ 项目中使用来自 dll 的类。一切正常,直到...
当尝试调用某个方法(在对象浏览器中列出)时,我收到一个错误,指出该方法不是命名空间的成员。
经过调查,我注意到此方法被列为“虚拟无效 x() 密封”。
有没有办法调用这样的函数?
最佳答案
为了将来引用,我刚刚收到了企业库支持团队的回复。他们发布了以下链接:
托管 C++ 和 IDisposable
我正在使用新的托管 C++/CLI 语法编写一些代码,但遇到了以下错误:
error C2039: 'Dispose' : is not a member of 'System::IDisposable'
我开始的代码是这样的:
image->Dispose(); // image implements IDisposable
这给了我同样的编译器错误,所以我想消除类/命名空间错误,所以我将其重写为:
((IDisposable ^)image)->Dispose();
这给出了上述错误。哎呀!
这是修复:
使用删除。托管 C++ 现在将 Dispose() 隐藏在终结器中。只需删除该对象,它会处理其余部分。怪异的。
这真的有效!!!!
关于c++-cli - C++ 虚拟(密封)函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2260055/