Diskuze: enum nelze deklarovat
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 9 zpráv z 9.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Problem je v tom ze enum nieje mozne forward-deklarovat (neviem ako sa to preklada), forward-deklaracia je deklaracia pri ktorej nieje definicia:
class A; //forward-deklaracia triedy A
//[...]
class A // definicia triedy A
{
//[...]
};
Ako som uz spomenul enum nieje mozne forward-deklarovat:
enum A; // chyba, enum nieje mozne forward-deklarovat
enum A
{
//[...]
};
Ak niekoho bude zaujimat Preco to nieje mozne: http://stackoverflow.com/q/71416/4932834
Naviac tam je tiez spomenute ze v C++11 to uz mozne je a ako to dosiahnut.
Spat k tvojmu problemu, troska nerozumies deklaraciam a definiciam, kazda definicia je zaroven aj deklaracia takze tym ze tam mas
#include "sachFigury.h"
v ktorom je enum barva_figury, riadok
enum barva_figury;
je nepotrebny, odstran ho a mas po problemoch. To iste plati aj pre ostatne deklaracie v tvojom kode:
class sachFigury;
struct figura;
class MyClass;
ktore su tiez nepotrebne.
Dufam ze sa na mna pismenka pre dlzne a makcene nehnevaju kedze mam anglicku klavestnicu.
Myslím, že forward v tomto prípade znamená globálna.
Nie celkom
, forward-declaration je len dekláracia bez definície,
nezáleží na tom kde je umiestnená:
int f()
{
class A;
}
class A
{
//[...]
};
.
Otazka je, k comu je to dobre.
Chapem, ak je to v hlavickovych suboroch, ale inde nevidim zmysel.
Prevazne sa zaujimam o cecko, nie c++, tam je to asi ine.
nene, když smažu
enum barva_figury;
problém se nevyřeší.
A když smažu
class sachFigury;
nebude to vědět co je sachFigury - další chyba, a to samé platí i o
struct figura;
No nic, už jsem se smířil s tim že to deklarovat nejde, nerozumim tomu proč, nedává to logiku, akorád musim kvůli tomu svůj projekt trochu přeorganizovat.
v subore sachFigury.h include-ujes myclass.h a v subore myclass.h
include-ujes sachFigury.h ... to asi nebude v poriadku s kostolnym poriadkom.
Ked este k tomu pridas fakt, ze v kazdom hlavickovom subore mas deklaraciu enumu
aj triedy (ci uz doprednu, alebo nie), tak sa ani necudujem, ze dostavas
error...
Dost mozne, ze sa mylim. No v kazdom pripade by si sem mohol post-nut error,
ktory dostavas.
No, includuju to, protože to všechno používám
když to všechno smažu, taky mi
to hází error, nebo vám to bez toho funguje? Nevim jak bych to měl napsat
lépe.
Zobrazeno 9 zpráv z 9.
