QtConcurrent: blockingMap: no matching function for call

Verschiedenes zu Qt
Antworten
qweide
Beiträge: 2
Registriert: 14. August 2009 20:28

QtConcurrent: blockingMap: no matching function for call

Beitrag von qweide »

Hi!

(Crosspost mit http://www.qtcentre.org/forum/f-newbie- ... 23333.html)

Ich habe das Map-Beispiel von Qt modifiziert, um echte Bilder mit guter Performance zu verkleinern.

Die scale-Funktion muss Zugriff auf die GUI haben, um von dort Skalierungsfaktoren und so zu lesen (oder kriege ich die anders übergeben?). Die CPP-Datei habe ich also modifiziert:
QString MainWindow::scale(const QString &filename)
{
...
}
Dadurch habe ich es auch der Headerdatei hinzugefügt, damit er wenier meckert:
...
public:
MainWindow(QWidget *parent = 0);
~MainWindow();
QString scale(const QString &filename);
...
Der Aufruf nach wie vor
QtConcurrent::blockingMapped(images, scale);
Ich bekomme diese Fehlermeldung:
mainwindow.cpp:85: error: no matching function for call to `blockingMapped(QList<QString>&, <unknown type>)'
Die Frage war, warum er die Funktion nicht mehr findet. Die Tipps aus dem anderen Thread helfen mir leider nicht :(. Könnte sich das vielleicht jemand kurz mal angucken?
Danke für jeden Hinweis :).

qweide
Dateianhänge
project.zip
(3.49 KiB) 69-mal heruntergeladen
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Deine scaled()-Funktion ist in einer Klasse aber nicht static. Das kann so nicht gehen.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
qweide
Beiträge: 2
Registriert: 14. August 2009 20:28

Beitrag von qweide »

Danke erst mal für die Antwort! :)
Ich habe schon mal versucht, das static zu machen, aber das ging schief: Er hat dann einen anderen Fehler gebracht :(. Ich weiß leider nicht mehr, welchen, weil ich es beim Probieren noch weiter verhunzt habe inzwischen...

Könntest du den Anhang kurz anschauen? Ist für jemanden, der sich mit der Materie auskennt sicher weit einfacher als für mich Anfänger :cry: .

Danke!
qweide
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Aus einer statischen Funktion kann man keine nicht-statischen Memberfunktionen aufrufen. Das was Du machen willst geht wohl nur per http://doc.trolltech.com/4.5/qtconcurre ... on-objects
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten