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

  • dobragab

    addikt

    válasz Hunmugli #3779 üzenetére

    C++ szabvány nem engedi meg, hogy ne legyen megadva a visszatérési érték. GCC 4.9 ezek szerint sz*rik rá, ahogy sok minden másra is. [link]

    Nem definiált függvény csak akkor fordítási (linkelési) hiba, ha meg is hívod. Ezt gyakran kihasználjuk, pl. template metaprogramozásnál.

    int func(int);
    double func(char);

    using T = decltype(func(1)); // T == int

    (#3777) EQMontoya

    Jogos, erre nem gondoltam. Azt hittem, pointerként kéne kiírnia (%p lenne printf-nél), mert ugye függvénypointer.

    Ezek szerint a kiírásra nincs függvénypointer-overload (persze, C++98-ban nem lehetne megcsinálni, utána meg kompatibilitási okok miatt nem vezetnék be soha). Fptr -> void* konverzió pedig adatszegmens - utasításszegmens okok miatt nem implicit. Pedig void*-os overload van.

    [ Szerkesztve ]

    Tudom, tudom, akasszak a tökömre egy lámpát, hogy sötétben is tudjak kaszálni.

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