& quot; пустое значение не игнорируется, как должно быть & quot; — Qt / переполнение стека

У меня есть этот простой «интерфейс» для некоторых плагинов, которые я хочу разработать, он выглядит так:

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 говорит, что был создан из строки, в которой я выполняю актерский состав … не могу понять, что я делаю неправильно … любая помощь / подсказка приветствуется.

0

Решение

изменил конструктор в моем «интерфейсе», чтобы TestPluginBase() {this->PluginType =0;} и код компилируется без ошибок .. решил мою проблему, но не знаю почему.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]