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í
×
    včera 12:55 | Nová verze

    CiviCRM (Wikipedie) bylo vydáno v nové verzi 6.14.0. Podrobnosti o nových funkcích a opravách najdete na release stránce. CiviCRM je robustní open-source CRM systém navržený speciálně pro neziskové organizace, spolky a občanské iniciativy. Projekt je napsán v jazyce PHP a licencován pod GNU Affero General Public License (AGPLv3). Český překlad má nyní 45 % přeložených řetězců a přibližuje se milníku 50 %. Potřebujeme vaši pomoc, abychom se dostali dál. Pokud máte chuť přispět překladem nebo korekturou, přidejte se na platformu Transifex.

    jardaIT | Komentářů: 2
    včera 12:22 | Bezpečnostní upozornění

    Další lokální zranitelností Linuxu je ssh-keysign-pwn. Uživatel si může přečíst obsah souborů, ke kterým má právo ke čtení pouze root, například soubory s SSH klíči nebo /etc/shadow. V upstreamu již opraveno [oss-security mailing list].

    Ladislav Hagara | Komentářů: 1
    14.5. 17:22 | Komunita

    Singularity (YouTube) je nejnovější otevřený film od Blender Studia. Jedná se o jejich první 4K HDR film.

    Ladislav Hagara | Komentářů: 2
    14.5. 16:55 | Zajímavý software

    Vyšla hra Život Není Krásný: Poslední Exekuce (Steam, ProtonDB). Kreslená point & click adventura ze staré školy plná černého humoru a nekorektního násilí. Vžijte se do role zpustlého exekutora Vladimíra Brehowského a projděte s ním jeho poslední pracovní den. Hra volně navazuje na sérii Život Není Krásný.

    Ladislav Hagara | Komentářů: 23
    14.5. 14:00 | Zajímavý projekt

    Společnost Red Hat představila Fedora Hummingbird, tj. linuxovou distribuci s nativním kontejnerovým designem určenou pro vývojáře využívající AI agenty.

    Pinhead | Komentářů: 6
    14.5. 02:22 | Zajímavý software

    Hru The Legend of Zelda: Twilight Princess od společnosti Nintendo si lze nově díky projektu Dusklight (původně Dusk) a reverznímu inženýrství zahrát i na počítačích a mobilních zařízeních. Vyžadována je kopie původní hry (textury, modely, hudba, zvukové efekty, …). Ukázka na YouTube. Projekt byl zahájen v srpnu 2020.

    Ladislav Hagara | Komentářů: 0
    14.5. 01:11 | Nová verze

    Byla vydána nová major verze 29.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Detailní přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 0
    13.5. 21:22 | Bezpečnostní upozornění

    Po zranitelnostech Copy Fail a Dirty Frag přichází zranitelnost Fragnesia. Další lokální eskalace práv na Linuxu. Zatím v upstreamu neopravena. Přiřazeno ji bylo CVE-2026-46300.

    Ladislav Hagara | Komentářů: 1
    13.5. 14:00 | Komunita

    Sovereign Tech Agency (Wikipedie) prostřednictvím svého fondu Sovereign Tech Fund podpoří KDE částkou 1 285 200 eur.

    Ladislav Hagara | Komentářů: 13
    13.5. 12:55 | IT novinky

    Google na včerejší akci The Android Show | I/O Edition 2026 (YouTube) představil celou řadu novinek: Gemini Intelligence, notebooky Googlebook, novou generaci Android Auto, …

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

    Dotaz: Qt - dvojrozmerne pole objektu

    Otto Šabart avatar 21.3.2011 21:06 Otto Šabart | skóre: 13 | blog: KatiePC blog
    Qt - dvojrozmerne pole objektu
    Přečteno: 483×
    Ahojte.. Mel bych na vas dotaz ohledne Qt. Zkousim si naprogramovat jednu mensi ulohu a zasekl jsem se na nasledujicim: Mam v hlavickovem souboru definovane dvojrozmerne pole na objekty takto:
    QVector<QVector<<Figure*> > m_pole;
    
    Ve zdrojovem souboru mu pak urcim velikost:
    m_pole.resize(size);
    for (int x = 0; x < m_pole.size(); x++) {
      m_pole[x].resize(size);
    }
    
    Rekneme, ze promenna (vyse) => size = 8. Potom tedy inicializuji prvky pole:
      m_pole[4][4] = new Figure(4, 4, Figure::King, this);
      m_pole[7][7] = new Figure(7, 7, Figure::Queen, this);
    
    Nasledne pak v kodu potrebuji pristoupit pres pole k objektu Figure a zavolat jeji metodu:
      Figure::Type type = m_pole[x][y]->type();
    
    Zde prichazi problem. Po zavolani metody nastane Segmentation fault. Debugger hlasi, ze ho zpusobuje fce Figure::type(). Jeste tedy prikladam definici tridy Figure:
    zdrojak
    hlavickovy soubor
    Jeste dodam, ze uz jsem ze zoufalosti zkousel ruzne kombinace volani metody.. napriklad:
     Figure::Type type = ((Figure*)m_pole[x][y])->type();
     Figure::Type type = *m_pole[x][y])->type();
    

    Najde se to nekdo, kdo by mi dokazal poradit:-)?
    *´¨)¸.·´¨)¸.·***·>>> www.seberm.com

    Řešení dotazu:


    Odpovědi

    David Watzke avatar 21.3.2011 21:17 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Qt - dvojrozmerne pole objektu
    Jen tak pro zajímavost, proč si prostě neuděláš obyčejný 2D pole figur (8x8) a šaškuješ místo toho s vektorama?
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    Otto Šabart avatar 21.3.2011 21:20 Otto Šabart | skóre: 13 | blog: KatiePC blog
    Rozbalit Rozbalit vše Re: Qt - dvojrozmerne pole objektu
    Ted tu koukam na objekt QVector2D... Ten myslis?
    *´¨)¸.·´¨)¸.·***·>>> www.seberm.com
    Otto Šabart avatar 21.3.2011 21:23 Otto Šabart | skóre: 13 | blog: KatiePC blog
    Rozbalit Rozbalit vše Re: Qt - dvojrozmerne pole objektu
    nebo myslis udelat to uplne klasicky...a nemichat do toho vubec Qt?
    *´¨)¸.·´¨)¸.·***·>>> www.seberm.com
    David Watzke avatar 21.3.2011 21:27 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Qt - dvojrozmerne pole objektu
    Myslím přesně tohle.
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    22.3.2011 13:27 Sten
    Rozbalit Rozbalit vše Re: Qt - dvojrozmerne pole objektu
    Objekt (this), který vytváří ony objekty, existuje i ve chvíli, kdy tu metodu voláte? Neděláte třeba jeho kopii?

    Jsou všechny prvky, ke kterým přistupujete pomocí x a y, inicializované (resp. nevoláte nějaký, který inicializovaný není)?

    Nepřesouváte ty prvky?
    Josef Kufner avatar 23.3.2011 00:35 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Qt - dvojrozmerne pole objektu
    Zavolej si nějakou dummy metodu, o které víš, že nemá na čem zkolabovat. Třeba tam bude jen printf("Hello world.") nebo tak něco (:-D). Ať víš, jestli je problém s voláním, nebo obsahem. Pokud to projde, tak tomu předáváš něco, co přestane existovat. Jinak by to fungovat mělo.
    Hello world ! Segmentation fault (core dumped)
    Otto Šabart avatar 23.3.2011 18:55 Otto Šabart | skóre: 13 | blog: KatiePC blog
    Rozbalit Rozbalit vše Re: Qt - dvojrozmerne pole objektu
    Moc dekuji vsem za rady. Uz jsem si chybu opravil. Mel jsem napsanou spatne podminku ve for cyklu:
    if (!m_pole[x][y])
      continue;
    
    a nasledne s polem pracoval a pristupoval do prvku, kde objekt Figure vubec nebyl.
    *´¨)¸.·´¨)¸.·***·>>> www.seberm.com

    Založit nové vláknoNahoru

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

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