Cześć.
Pisząc program musiałem użyć funkcji qsort. Oprócz tego, że zdziwił mnie bardzo jej C-style, czego nie ma w przypadku sort, to zdziwiła mnie jeszcze jedna rzecz. Idąc za kodem źle przepisałem jedną rzecz.
Zamiast
int arg1 = *static_cast<const int*>(a);
...
napisałem
const int* arg1 = static_cast<const int*>(a);
...
co mnie jednak zdziwiło, kiedy później chciałem oba argumenty porównać, wyrażenie
*a>*b
generowało błąd o treści:
wyrażenie musi być wskaźnikiem do kompletnego obiektu (vsc)
to samo nie pojawia się przy kodzie z cppreference.
Czy byłby ktoś skory wyjaśnić jaka jest między tym różnica i dlaczego kod pierwszy działa, za to drugi nie?
Z góry dziękuję.