ten sposób deklaracje w wyglądzie klasy bazowej:Połącz z chronionym szczeliny w klasie pochodnej
protected:
void indexAll();
void cleanAll();
w klasie pochodnej, co następuje nie kompiluje:
indexAll(); // OK
connect(&_timer, &QTimer::timeout, this, &FileIndex::indexAll); // ERROR
connect(&_timer, SIGNAL(timeout()), this, SLOT(indexAll())); // OK
Chciałbym użyć pierwszy wariant connect
, ponieważ wykonuje pewne kontrole czasu kompilacji. Dlaczego to zwraca błąd:
error: 'void Files::FileIndex::indexAll()' is protected
void FileIndex::indexAll()
^
[...].cpp:246:58: error: within this context
connect(&_timer, &QTimer::timeout, this, &FileIndex::indexAll);
^
To znaczy, że preferuje się pierwszy ... pierwszy przychodzi z kontroli skompilować. – Greenflow
OK tak: D Pierwszy "połącz", ale drugi wiersz. – ManuelSchneid3r