मेरे क्यूटी आवेदन में, मेरे पास आधार श्रेणी है। मैं QObject का उपयोग कर रहा हूं क्योंकि मैं सभी व्युत्पन्न कक्षाओं में सिग्नल-स्लॉट तंत्र का उपयोग करना चाहता हूं।क्यूटी/सी ++ में एकाधिक विरासत का सही तरीका क्या है?
class IRzPlugin : public QObject {
public:
virtual void registerMenu(QWidget*);
virtual void execute();
}
तब मेरे पास एक और वर्ग है। मुझे QWidget से विस्तार करने की आवश्यकता है क्योंकि मुझे सभी व्युत्पन्न कक्षाओं में ईवेंट हैंडलिंग विधियों को लागू करने की आवश्यकता है। (MouseMoveEvent(), keyPressEvent() .. आदि);
class IRzLayeringPlugin : public IRzPlugin , public QWidget{
}
लेकिन संकलक देता है इन त्रुटियों:
C:\svn\osaka3d\tags\iter08\prototype\osaka3d\rinzo\plugin\moc_IRzLayeringPlugin.cxx: In member function `virtual const QMetaObject* IRzLayeringPlugin::metaObject() const':
C:\svn\osaka3d\tags\iter08\prototype\osaka3d\rinzo\plugin\moc_IRzLayeringPlugin.cxx:51: error: `QObject' is an ambiguous base of `IRzLayeringPlugin'
C:\svn\osaka3d\tags\iter08\prototype\osaka3d\rinzo\plugin\moc_IRzLayeringPlugin.cxx:51: error: `QObject' is an ambiguous base of `IRzLayeringPlugin'
make[2]: *** [CMakeFiles/Rinzo.dir/plugin/moc_IRzLayeringPlugin.cxx.obj] Error 1
धन्यवाद, यही वह है जो मैंने आखिरकार किया / –