abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 05:11 | Nová verze

    Organizace Apache Software Foundation (ASF) vydala verzi 30 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.

    Ladislav Hagara | Komentářů: 0
    dnes 05:00 | Nová verze

    Byla vydána nová verze 7.0 svobodného open source redakčního systému WordPress. Kódové jméno Armstrong bylo vybráno na počest amerického jazzového trumpetisty a zpěváka Louise Armstronga (What A Wonderful World).

    Ladislav Hagara | Komentářů: 0
    dnes 04:55 | Bezpečnostní upozornění

    V Drupalu byla nalezena a opravena kritická zranitelnost SA-CORE-2026-004 (CVE-2026-9082). Útočník může provádět libovolné SQL dotazy na webech používajících databázi PostgreSQL.

    Ladislav Hagara | Komentářů: 0
    včera 14:11 | Komunita

    Richard Hughes oznámil, že službu Linux Vendor Firmware Service (LVFS) umožňující aktualizovat firmware zařízení na počítačích s Linuxem, nově sponzoruje také společnost HP.

    Ladislav Hagara | Komentářů: 3
    včera 13:33 | IT novinky

    O víkendu proběhla demopárty Outline 2026. Publikována byla prezentovaná dema. Upozornit lze na 16 bajtové, opravdu šestnáct bajtové, zvukově obrazové demo Wake Up! 16b (YouTube).

    Ladislav Hagara | Komentářů: 2
    včera 04:22 | Nová verze

    Byla vydána nová verze 9.5 multiplatformní digitální pracovní stanice pro práci s audiem (DAW) Ardour. Přehled novinek, vylepšení a oprav v poznámkách k vydání a na YouTube.

    Ladislav Hagara | Komentářů: 0
    19.5. 21:00 | IT novinky

    Dnes a zítra probíhá vývojářská konference Google I/O 2026. Sledovat lze na YouTube a na síti 𝕏 (#GoogleIO).

    Ladislav Hagara | Komentářů: 0
    19.5. 19:00 | Nová verze

    Canonical vydal Ubuntu Core 26. Vychází z Ubuntu 26.04 LTS a podporováno bude 15 let. Ubuntu Core je minimální neměnný operační systém určený pro vestavěné systémy.

    Ladislav Hagara | Komentářů: 0
    19.5. 16:22 | Nová verze

    Bylo vydáno OpenBSD 7.9. Po dlouhé době opět se songem: Diamond in the Rough.

    Ladislav Hagara | Komentářů: 0
    19.5. 16:00 | Nová verze

    Byl vydán Mozilla Firefox 151.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 151 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (13%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (7%)
     (3%)
     (16%)
     (26%)
    Celkem 1672 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    chyba v g++/clang

    7.8.2013 19:23 | Přečteno: 1340× | poslední úprava: 7.8.2013 19:21

    Zkousel jsem zkompilovat nasledujici kod:
    typedef int A;
    
    template<typename T>
    struct X {};
    
    int main() {
    	X<::A> t;
    }
    

    Vystup gcc:
    a.cpp: In function ‘int main()’:
    a.cpp:7:3: error: ‘<::’ cannot begin a template-argument list [-fpermissive]
    a.cpp:7:3: note: ‘<:’ is an alternate spelling for ‘[’. Insert whitespace between ‘<’ and ‘::’
    a.cpp:7:3: note: (if you use ‘-fpermissive’ G++ will accept your code)
    
    Vystup clangu:
    a.cpp:7:2: error: cannot refer to class template 'X' without a template argument
          list
            X<::A> t;
            ^
    a.cpp:4:8: note: template is declared here
    struct X {};
           ^
    a.cpp:7:5: error: expected expression
            X<::A> t;
               ^
    a.cpp:7:5: error: expected ']'
    a.cpp:7:3: note: to match this '['
            X<::A> t;
             ^
    3 errors generated.
    
    Chapu ze oba prekladace nactou <: a povazuji to za alternativni token k [. V draftu C++11, kapitole "2.5 Preprocessing tokens", jsem ale nasel:
    — Otherwise, if the next three characters are <:: and the subsequent character is neither : nor >, the < is treated as a preprocessor token by itself and not as the first character of the alternative token <:.
    Jeste nez jim pujdu reportovat chyby tak by me zajimalo jestli se opravdu oba prekladace rozhodly tohle ignorovat, nebo je tam nejaky catch... Obzvlaste me prekvapuje g++ a jeho drza hlaska "‘<::’ cannot begin a template-argument list" :-) Trochu jsem to hledal a nasel hlavne rady typu "pridej mezeru", coz je celkem jasny, ale podle standardu by to asi melo fungovat i bez ni...        

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    Vojtěch Trefný avatar 7.8.2013 20:20 Vojtěch Trefný | skóre: 24 | blog: Blog | Praha
    Rozbalit Rozbalit vše Re: chyba v g++/clang
    V draftu C++11
    Tohle je odpověď -- se -std=c++0x to projde ;-)

    7.8.2013 22:44 ::: | skóre: 14 | blog: e_lama
    Rozbalit Rozbalit vše Re: chyba v g++/clang
    Aha, to me nenapadlo ze to do standardu pridali az ted.

    Po pridani -std=c++11 to:

    - s clangem 3.0 funguje

    - s gcc 4.7.2 nefunguje. Budu muset zkusit zkompilovat nejakou novejsi verzi.
    stativ avatar 8.8.2013 09:54 stativ | skóre: 54 | blog: SlaNé roury
    Rozbalit Rozbalit vše Re: chyba v g++/clang
    Ani nemusíš, zkusil jsem to s gcc 4.8.1 a zkompilovat to jde.
    Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
    7.8.2013 21:51 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: chyba v g++/clang
    Jedině C++11, níž by to nemělo projít, podobně jako například:
    std::vector<myNumber<int>>
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.