【发布时间】:2013-01-01 10:47:15
【问题描述】:
我有一些我想开发的插件的简单“接口”,它看起来像:
class TestPluginBase : public QObject
{
Q_OBJECT
public:
TestPluginBase();
qint64 returnType(){return PluginType;}
protected:
qint64 PluginType;
};
以及其他一些实现“接口”的类,例如:
class TestPluginONE : public TestPluginBase
{
public:
TestPluginONE() {this->PluginType =1;}
qint64 returnType() {return this->PluginType;}
};
然后我有另一个函数假设加载不同的插件:
qint64 TestPluginManager::loadPlugin(QObject *_plugin)
{
TestPluginBase *Plugin = qobject_cast<TestPluginBase *>(_plugin);
if ( !Plugin )
return 0;
emit sigPluginLoaded(Plugin);
return Plugin->returnType();
}
但是在构建它时我得到void value not ignored as it ought to be 并且Qt 创建者说从我正在做我的演员的行中实例化......无法弄清楚我做错了什么......任何帮助/提示表示赞赏。
【问题讨论】:
-
sigPluginLoaded定义在哪里? -
在定义
loadPlugin函数的同一个头文件中。即使我把它注释掉,我也会得到同样的错误。