我在一个DLL中导出了一个interface,用QLibrary加载该模块并调用该导出函数
可是纯虚的interface不能实例化,不知道怎么转换
ITest.h
#ifndef ITEST_H
#define ITEST_H
#include <Windows.h>
interface ITest
{
virtual HRESULT __stdcall QueryInterface(const IID &riid, void **ppvObject) = 0;
virtual ULONG __stdcall AddRef() = 0;
virtual ULONG __stdcall Release() = 0;
virtual void __stdcall SetInt(int value) = 0;
virtual int __stdcall GetInt(int value) = 0;
};
#endif // ITEST_H
然后这样用会编译报错,不知道怎么讲指针转换为interface
ITest test = (ITest)lib.resolve("Get");
------解决方案--------------------
接口只是一种契约,你要实现这个接口才能使用
------解决方案--------------------
帮你顶
------解决方案--------------------
用调试器监视变量 或者函数返回值 还有函数里带一些数据输出 光靠感觉和猜测无法找到原因的。
还有别动不动 就来什么虚类 都不知道你说的是什么 描述问题 也不清楚 没有逻辑和条理
------解决方案--------------------
你把文件发我,你那问题 光用理论弄不出来的。
需要动态调试 这个也是熟悉 系统和调试器的过程
虽然不知道问题是什么,但是你弄的一堆概念 不从调试里面找错 是西里糊涂的。