Występuje błąd kompilacji podczas przekazywania funkcji o 6 parametrach lub więcej do QtConcurrent::run()
. Kiedy zmniejszę je do 5 parametrów, nie otrzymuję już tego błędu.QtConcurrent :: run() nie może obsłużyć więcej niż 5 argumentów?
Ten manekin odtwarza kod błędu dla mnie:
void foo(int, int, int, int, int, int)
{
}
QtConcurrent::run(foo, 1, 2, 3, 4, 5, 6);
Błąd kompilatora jest:
error: no matching function for call to 'run(void (&)(int, int, int, int, int, int), int, int, int, int, int, int)'
Czy to ma być tak? Czy QtConcurrent::run()
jest naprawdę ograniczone do maksymalnie 5 argumentów?
Nie zdziwi mnie to, że jest ograniczona. W końcu musi działać z kompilatorami przed C++ 11. – Angew