Member Functions in QtConcurrent::blockingMap(...)
Verfasst: 24. September 2009 08:56
Hallo,
ich schreibe grad an was wofür ich blockingMap verwenden wollte. Funktioniert auch prinzipiell, nur will ich das innerhalb einer Klasse verwenden, und das wiederum bringt mir nur einen verwirrenden compile time error.
Ich habe mich eigentlich an die Qt Dokumentation gehalten (hier), aber irgendwas scheine ich falsch zu machen. Hier ein minimales Beispielprogramm, bei dem der selbe Fehler auftritt:
Der Fehler:
Kompiliert hab ich mit Qt 4.5.2 und MinGW unter Windows XP.
Was mache ich falsch?
ich schreibe grad an was wofür ich blockingMap verwenden wollte. Funktioniert auch prinzipiell, nur will ich das innerhalb einer Klasse verwenden, und das wiederum bringt mir nur einen verwirrenden compile time error.
Ich habe mich eigentlich an die Qt Dokumentation gehalten (hier), aber irgendwas scheine ich falsch zu machen. Hier ein minimales Beispielprogramm, bei dem der selbe Fehler auftritt:
Code: Alles auswählen
#include <QtCore>
class Testclass {
public:
Testclass() {
QList<int> integers;
integers << 0 << 1 << 2 << 3 << 4;
QtConcurrent::blockingMap(integers, &Testclass::mapfunction);
}
private:
void mapfunction(int &number) {
number++;
}
};
int main(int argc, char * argv[]) {
QCoreApplication app(argc, argv);
Testclass testinstance;
return app.exec();
}Code: Alles auswählen
c:/Qt/2009.03/qt/include/QtCore/../../src/corelib/concurrent/qtconcurrentmapkernel.h: In member function `bool QtConcurrent::MapKernel<Iterator, MapFunctor>::runIteration(Iterator, int, void*) [with Iterator = QList<int>::iterator, MapFunctor = void (Testclass::*)(int&)]':
main.cpp:12: instantiated from here
c:/Qt/2009.03/qt/include/QtCore/../../src/corelib/concurrent/qtconcurrentmapkernel.h:73: error: must use .* or ->* to call pointer-to-member function in `((QtConcurrent::MapKernel<QList<int>::iterator, void (Testclass::*)(int&)>*)this)->QtConcurrent::MapKernel<QList<int>::iterator, void (Testclass::*)(int&)>::map (...)'Was mache ich falsch?