Új hozzászólás Aktív témák

  • dobragab

    addikt

    válasz Hunmugli #3771 üzenetére

    Ha megnézed a fordító hibaüzenetét, közelebb kerülsz a megoldáshoz.

    int x(int(int(int(int(int(int(int(int))))))));

    Ez a sor nem egy változó, hanem egy függvény deklarációja.

    int x(int (*)(int (*)(int (*)(int (*)(int (*)(int (*)(int (*)(int))))))))

    Tehát egy inttel visszatérő függvény, [ami paraméterként egy inttel visszatérő függénypointert vesz át]...., ami paraméterként egy intet vesz át.

    Utána, a kiírásnál a függvény automatikusan a címére konvertálódik (ami egy függvényre mutató pointer), az viszont bool-ra (nem tudom pontosan, miért). Ezért ír ki 1-et.

    Függvénydeklarációnak viszont nem adhatsz értéket.

    Nem véletlenül szokták mondani a C / C++ deklarációkra, hogy syntax only a compiler could love…

Új hozzászólás Aktív témák