porównanie struktury do bool

0

Cześć, stworzyłem funkcje, która ma uporządkowywać tablice struktur, gdy odjęty ma zostać z niej element, ale pojawia się błąd w warunku if. Jeśli *pt wskazuje na wartość, to dlaczego nie mogę użyć go w warunku if? (naj to struktura)

void wymianaStruktury(naj  pt[], int nr_ochotnika, int il_ochotnikow)
{
    int count = 0;
    pt[nr_ochotnika] = {};
    for (int i = 0; i < il_ochotnikow - 1; i++)
    {
        if (!(*(pt + i)))continue;
        pt[count] = pt[i];
        count++;
    }
}
1

Jesteś pewien, że to C++, a nie C? Bo tak się nie pisze w C++.

Niemniej jednak: jeśli klasa naj nie ma konwersji na bool, to próba jej konwersji na bool jest bez sensu. Ponadto zamiast zaciemniać kod przez *(pt + i) możesz napisać po prostu pt[i]. Albo jeszcze lepiej: pisać w C++ i użyć jakiejś struktury danych z bibliotekii standardowej (array, vector) stosownej do potrzeb.

1 użytkowników online, w tym zalogowanych: 0, gości: 1