Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Pouze tento týden sleva až 80 % na e-learning týkající se Java. Zároveň využij akce až 80 % zdarma při nákupu e-learningu. Více informací:

Diskuze: Chyba kompilátoru-CS0120

Aktivity
Avatar
weverka
Člen
Avatar
weverka:3.8.2021 12:39

Ahoj pracuji na jednom projektu a předělávám to do OOP (primitivního) a při kompilaci mi to hází tuto chybu: Pro nestatické pole, metodu nebo vlastnost Menu.menu() se vyžaduje odkaz na objekt. Přitom by mělo být vše v pořádku.

Odpovědět
3.8.2021 12:39
Weby jsou budoucnost IT
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:3.8.2021 14:59

Co jsi nasel googlem?
Treba ten objekt skutecne neexistuje. Cecko nepouzivam, ale jiste ma neco jako isExist.

print isExist(Menu)
print isExist(Menu.menu)
print Menu
print Menu.menu
Menu.menu()

Podobnym zpusobem zjistuji existenci objektu. Jestli existuje a jaky ma obsah nebo typ, aspon. Jestli je null, prazdny nebo je tam funkce, class a tak. Tusim, ze je nutne udelat nejake VAR, kdyz neco neni.
A neni treba tam psat this->menu?

 
Nahoru Odpovědět
3.8.2021 14:59
Avatar
weverka
Člen
Avatar
Odpovídá na Peter Mlich
weverka:3.8.2021 15:59

Google nic nenašel a to ostatní zkusím.

Nahoru Odpovědět
3.8.2021 15:59
Weby jsou budoucnost IT
Avatar
weverka
Člen
Avatar
weverka:3.8.2021 19:19

Hotovo stačilo napsat místo public good public stativ void.

Nahoru Odpovědět
3.8.2021 19:19
Weby jsou budoucnost IT
Avatar
Odpovídá na weverka
Ondřej Šrytr:3.8.2021 19:20

Ahoj,

tady je to pěkně popsaný https://docs.microsoft.com/…sages/cs0120

Menu bude v tvém případě pravděpodobně třída a snažíš se k funkci/proceduře menu() přistupovat jako ke statické. Takže pokud tak nemáš, musíš si někde udělat instanci třídy Menu, například:

Menu m = new Menu();
m.menu();
 
Nahoru Odpovědět
3.8.2021 19:20
Avatar
weverka
Člen
Avatar
Odpovídá na Ondřej Šrytr
weverka:3.8.2021 20:42

Já jsem tam psal Menu.Menu() a ona má být na začátku ta instance m nebo menu v mém případě.

Nahoru Odpovědět
3.8.2021 20:42
Weby jsou budoucnost IT
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.