Diskuze: Tisk pole
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 11 zpráv z 11.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Ahoj,
při stčítání řádků ukládáš součty do pole vysledek, které deklaruješ jako:
int vysledek[pocet_radku];
Následně jej vracíš volajícímu. Takováhle deklarace ti vytvoří pole jako lokální proměnnou, které se alokují na zásobníku. To znamená, že jakmile se dostaneš ven z funkce (suma_radku skončí), tato proměnná de facto zanikne.
Nejjednodušším řešením je pole vysledek alokovat na haldě (přes funkci malloc). Pak po návratu z funkce bude stále existovat a tvůj problém by už neměl nastávat (kód jsem nezkoumal do té míry, abych ti řekl, zda nenastane nějaký jiný problém... ve vícerozměrných polích v C se zas tak moc neorientuju).
P.S.
Slušní lidé proměnné alokovaná na haldě uvolňují (funkce
free), když už jich nepotřebují.
Predpokladám, že tá knižnica stdafx.h je súčasťou nejakého IDE,
inakšie si neviem predstaviť, že ju nikto používa aj na jednoduché
kódy.
Proste je mi divné, keď koder nevie čo vlastne includuje.
VS ti nedovolí zkompilovat program (mě nedovolil) bez stdafx.h
Tak s VS jsem naposledy pracoval před asi 4mi roky, nevím co se změnilo.
Hlavičkový soubor stdafx.h (ne, není to knihovna) slouží k vkládání (include) hlavičkových souborů, které se často nemění, takže mohou být předkompilované, což urychlí celkový překlad programu.
Předkompilované hlavičky není nutné používat, ale asi je budeš muset vypnout v nastavení projektu (někde v sekci C/C++).
Ono stačí založit empty project a dopsat si main sám.
Ďakujem, už som pochopil, dúfam správne, že tento súbor je preddefinovaný vo VS.
Precompiled header se ve vs zapíná/vypíná pro každý soubor zvlášť.
Zobrazeno 11 zpráv z 11.