Fehlersuche
Verfasst: 15. März 2005 11:29
Hallo,
bin gerade dabei, ein weiteres Tutorial zu machen. Folgende Fehlermeldung kommt, wenn ich versuche, ein Objekt einer Klasse zu bilden:
error C2664: '__thiscall FindFormImpl::FindFormImpl(const class FindFormImpl &)' : cannot convert parameter 1 from 'class ColorMainWindowImpl *const ' to 'const class FindFormImpl &'
Reason: cannot convert from 'class ColorMainWindowImpl *const ' to 'const class FindFormImpl'
No constructor could take the source type, or constructor overload resolution was ambiguous
Hier die Klasse im Header:
class FindFormImpl : public FindForm
{
Q_OBJECT
signals:
lookfor(const QString&);
public:
FindFormImpl( QWidget* parent, const char* name, bool modal, WFlags fl )
: FindForm( parent, name, modal, fl ){};
Hier der Aufruf:
void ColorMainWindowImpl::editFind()
{
FindFormImpl *findForm;
findForm = 0;
if ( ! findForm ) {
findForm = new FindFormImpl(this);
connect( findForm, SIGNAL( lookfor(const QString&) ),
this, SLOT( lookfor(const QString&) ) );
}
findForm->show();
}
FindFormImpl ist die abgeleitete klasse von FindForm (ist mein Fenster in Designer) und in die ich meine Funktionen, wie lookfor schreibe.
Der Fehler liegt ja anscheinend irgendwo in
findForm = new FindFormImpl(this);
bzw. im Konstruktor, den ich aber ja immer so gebildet habe und der ja mit FindForm auch funktioniert. FindFormImpl ist aber von FindForm ja abgeleitet, dann müssten die ja auch identisch sein, oder?
Wenn ich den Code mit FindForm, anstatt FindFormImpl aufrufe, läuft er, dann kann ich natürlich nicht meine eigenen Funktionen aus meinen VC++ Dateien benutzen.
bin gerade dabei, ein weiteres Tutorial zu machen. Folgende Fehlermeldung kommt, wenn ich versuche, ein Objekt einer Klasse zu bilden:
error C2664: '__thiscall FindFormImpl::FindFormImpl(const class FindFormImpl &)' : cannot convert parameter 1 from 'class ColorMainWindowImpl *const ' to 'const class FindFormImpl &'
Reason: cannot convert from 'class ColorMainWindowImpl *const ' to 'const class FindFormImpl'
No constructor could take the source type, or constructor overload resolution was ambiguous
Hier die Klasse im Header:
class FindFormImpl : public FindForm
{
Q_OBJECT
signals:
lookfor(const QString&);
public:
FindFormImpl( QWidget* parent, const char* name, bool modal, WFlags fl )
: FindForm( parent, name, modal, fl ){};
Hier der Aufruf:
void ColorMainWindowImpl::editFind()
{
FindFormImpl *findForm;
findForm = 0;
if ( ! findForm ) {
findForm = new FindFormImpl(this);
connect( findForm, SIGNAL( lookfor(const QString&) ),
this, SLOT( lookfor(const QString&) ) );
}
findForm->show();
}
FindFormImpl ist die abgeleitete klasse von FindForm (ist mein Fenster in Designer) und in die ich meine Funktionen, wie lookfor schreibe.
Der Fehler liegt ja anscheinend irgendwo in
findForm = new FindFormImpl(this);
bzw. im Konstruktor, den ich aber ja immer so gebildet habe und der ja mit FindForm auch funktioniert. FindFormImpl ist aber von FindForm ja abgeleitet, dann müssten die ja auch identisch sein, oder?
Wenn ich den Code mit FindForm, anstatt FindFormImpl aufrufe, läuft er, dann kann ich natürlich nicht meine eigenen Funktionen aus meinen VC++ Dateien benutzen.