我有一些插件我想开发这个简单的“接口”,它看起来像:“不被忽略,因为它应该是空值” - 的Qt/C++
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? – 2013-01-01 10:53:57
与'loadPlugin'函数被定义的头文件相同。即使我将它评论出来,我也会得到同样的错误。 – mrz