Compilermeldung: "keine passende Funktion für Aufruf von ..."

07/08/2016 - 15:53 von Detlef Graef | Report spam
Hallo,

beim Übersetzen eines Paketes bin ich auf folgenden Fehler gestossen:

.../knode/knconfigwidgets.cpp: In Elementfunktion »void
KNode::AppearanceWidget::slotFontItemActivated(QListWidgetItem*)«:
.../knode/knconfigwidgets.cpp:823:54: Fehler: keine passende Funktion
für Aufruf von »KFontDialog::getFont(QFont&, bool,
KNode::AppearanceWidget*)«
int result = KFontDialog::getFont(font,false,this);
^
Mir ist die Bedeutung der Fehlermeldung nicht klar.

Laut:

https://api.kde.org/frameworks/kdel...ialog.html

müssten für getFont() vier Parameter übergeben werden, oder?

Hier der Quelltext im Zusammenhang:

// show font dialog for the entry
void KNode::AppearanceWidget::slotFontItemActivated( QListWidgetItem *item )
{
if ( item ) {
FontListItem *fontItem = static_cast<FontListItem*>( item );
QFont font = fontItem->font();
int result = KFontDialog::getFont(font,false,this);

if (result == KFontDialog::Accepted)
fontItem->setFont(font);
}
emit changed(true);
}


Ich verwende gcc 6.1.1 unter Linux.


Detlef
 

Lesen sie die antworten

#1 Rainer Weikusat
07/08/2016 - 21:11 | Warnen spam
Detlef Graef writes:

beim Übersetzen eines Paketes bin ich auf folgenden Fehler gestossen:

.../knode/knconfigwidgets.cpp: In Elementfunktion »void
KNode::AppearanceWidget::slotFontItemActivated(QListWidgetItem*)«:
.../knode/knconfigwidgets.cpp:823:54: Fehler: keine passende Funktion
für Aufruf von »KFontDialog::getFont(QFont&, bool,
KNode::AppearanceWidget*)«
int result = KFontDialog::getFont(font,false,this);
^
Mir ist die Bedeutung der Fehlermeldung nicht klar.

Laut:

https://api.kde.org/frameworks/kdel...ialog.html

müssten für getFont() vier Parameter übergeben werden, oder?



Lediglich ein Parameter ist erforderlich weil die anderen Defaultwerte
haben.

Hier der Quelltext im Zusammenhang:

// show font dialog for the entry
void KNode::AppearanceWidget::slotFontItemActivated( QListWidgetItem *item )
{
if ( item ) {
FontListItem *fontItem = static_cast<FontListItem*>( item );
QFont font = fontItem->font();
int result = KFontDialog::getFont(font,false,this);



Dieser Aufruf 'passt' fuer die KDE 3.x API, vgl

https://api.kde.org/3.0-api/classre...ialog.html

Du koenntest versuchen, false durch KFontChooser::NoDisplayFlags zu
ersetzen aber ob das ausreicht, fuer KDE3 geschriebenen Code mit KDE4
zum Laufen zu bekommen, darf bezweifelt werden. Vermutlich waerest Du
besser beraten, die aeltere Version zu benutzen.

Ähnliche fragen