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 04:33 | Nová verze

    Vim Classic byl vydán ve verzi 8.3. Drew DeVault oznámil tento fork editoru Vim (verze 8.2.0148, tj. těsně před zavedením Vim9 skriptování) v březnu letošního roku. Důvodem forku bylo, že vývojáři editorů Vim a Neovim začali při vývoji využívat LLM.

    Ladislav Hagara | Komentářů: 0
    dnes 03:44 | Komunita

    Open source konference DevConf.CZ 2026 proběhne 18. a 19. června v Brně na FIT VUT. Publikován byl program a spuštěna byla registrace.

    Ladislav Hagara | Komentářů: 0
    včera 19:44 | Nová verze

    Společnost JetBrains uvolnila verzi 2 svého open-source velkého jazykového modelu (LLM) pro vývojáře Mellum.

    Ladislav Hagara | Komentářů: 0
    včera 14:44 | IT novinky

    Probíhá konference Microsoft Build 2026. Microsoft představuje své novinky: kvantový čip Majorana 2, Surface Laptop Ultra a Surface RTX Spark Dev Box s NVIDIA RTX Spark, Intelligent Terminal, Coreutils for Windows (fork Rust Coreutils), AI modely MAI, AI agenta Scout, platformu pro agent-first zařízení Project Solara, …

    Ladislav Hagara | Komentářů: 0
    včera 12:44 | Nová verze

    Google Chrome 149 byl prohlášen za stabilní. Nejnovější stabilní verze 149.0.7827.53 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    včera 10:55 | Nová verze

    Pluto.jl, reaktivní notebook pro programovací jazyk Julia, dospěl do verze 1.0.

    Ladislav Hagara | Komentářů: 3
    2.6. 13:44 | Nová verze

    Byla vydána nová verze 12.0.0 vizuálního programovacího jazyka Snap! (Wikipedie) inspirovaného jazykem Scratch (Wikipedie). Přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 0
    2.6. 11:44 | IT novinky

    Počítačovou hru Gravity Circuit (ProtonDB) lze do 14. června do 19:00 získat na Steamu zdarma. Napořád.

    Ladislav Hagara | Komentářů: 0
    2.6. 11:00 | Bezpečnostní upozornění

    Nejnovější X.Org X server 21.1.23 a Xwayland 24.1.12 řeší 9 bezpečnostních chyb.

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

    npm balíčky @redhat-cloud-services byly kompromitovány.

    Ladislav Hagara | Komentářů: 5
    Které desktopové prostředí na Linuxu používáte?
     (12%)
     (8%)
     (2%)
     (15%)
     (31%)
     (4%)
     (6%)
     (3%)
     (15%)
     (26%)
    Celkem 1812 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: 487×
    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.