• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Enum nie działa w osobnym pliku cpp

0 głosów
325 wizyt
pytanie zadane 27 grudnia 2017 w C i C++ przez kvbq Obywatel (1,490 p.)
Podczas kompilacji wyskoczyła mi seria błędów związanych z enumami. Jedne dotyczyły tego że są zle użyte, drugie że wartość enuma nie została zdeklarowana w tym pliku (np 'KOLO' przy enum GRACZ{KOLO, KRZYZ};). Próbowałem dodawać do pliku cpp sam nagłówek klasy, w którym występuje enum lub dopisywać extern przed zmienną obiektową lub dodać zmienną klasową (lub wskaznik) do klasy głównej, której metoda używa tego enuma.

plik .h http://wklej.org/id/3330055/

plik .cpp http://wklej.org/id/3330058/

main() nie dodaje bo nic w nim na razie nie ma.
komentarz 27 grudnia 2017 przez niezalogowany

Podczas kompilacji wyskoczyła mi seria błędów związanych z enumami.

Skoro nie podajesz pełnego kodu gotowego do kompilacji, to nie sądzisz że fajnie byłoby zamieścić log kompilacji w treści pytania?

1 odpowiedź

0 głosów
odpowiedź 27 grudnia 2017 przez j23 Mędrzec (195,220 p.)
wybrane 30 grudnia 2017 przez kvbq
 
Najlepsza
class Plansza
{
    public:
    enum TABLICA {PUSTE, KOLKO, KRZYZYK};
};


if(Board.TABLICA[0][0]==KOLKO 
	&& Board.TABLICA[0][1]==KOLKO
	&& Board.TABLICA[0][2]==KOLKO)
	return 1;

Odwołujesz się do TABLICA, jakby była tablicą, a nie jest. Wartości PUSTE, KOLKO i KRZYZYK nie leżą w globalnej przestrzeni nazw, należą do klasy Plansza.

class Plansza
{
public:
	enum { PUSTE, KOLKO, KRZYZYK } Tablica[10][10] = { PUSTE };
};


if(Board.Tablica[0][0] == Plansza::KOLKO 
	&& Board.Tablica[0][1] == Plansza::KOLKO
	&& Board.Tablica[0][2] == Plansza::KOLKO)
	return 1;

 

Podobne pytania

0 głosów
4 odpowiedzi 1,315 wizyt
pytanie zadane 7 maja 2020 w C i C++ przez dominik195k Obywatel (1,030 p.)
+1 głos
4 odpowiedzi 500 wizyt
pytanie zadane 14 września 2015 w C i C++ przez 0xf Dyskutant (8,180 p.)
0 głosów
1 odpowiedź 158 wizyt
pytanie zadane 4 marca 2017 w C i C++ przez pewien_programista Obywatel (1,070 p.)

93,692 zapytań

142,611 odpowiedzi

323,220 komentarzy

63,220 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...