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

Błąd przy kompilacji.

0 głosów
217 wizyt
pytanie zadane 30 marca 2016 w C i C++ przez Pixel040 Gaduła (3,100 p.)

link google

Błąd wyskakuje w Map.h

||=== Build: Debug in Gray World (compiler: GNU GCC Compiler) ===|
error: 'Game' has not been declared|
||In member function 'void Game::run()':|
error: no matching function for call to 'Map::load(Game&)'|
candidate is:|
void Map::load(int&)|
no known conversion for argument 1 from 'Game' to 'int&'|
||=== Build failed: 2 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|

 

1 odpowiedź

0 głosów
odpowiedź 30 marca 2016 przez MetGang Nałogowiec (34,360 p.)
wybrane 1 kwietnia 2016 przez Pixel040
 
Najlepsza
// Game.h
#include "Map.h"

// Map.h
#include "Game.h"

I teraz pomyśl jak ma zachować się kompilator widząc takie coś. Dołącza Map.h, w Map.h jest include do Game.h, dołącza Game.h, w Game.h jest include do Map.h, dołącza Map.h... i tak dalej.

W twoim wypadku błąd da się łatwo rozwiązać. Usuń #include "Map.h" w Game.h, wystarczy że includujesz mapę w .cpp

Poczytaj na przyszłość o mutual include oraz forward declaration.

Podobne pytania

0 głosów
2 odpowiedzi 468 wizyt
pytanie zadane 9 kwietnia 2016 w C i C++ przez krzakurts Obywatel (1,470 p.)
0 głosów
2 odpowiedzi 262 wizyt
pytanie zadane 5 marca 2016 w C i C++ przez krzakurts Obywatel (1,470 p.)
0 głosów
0 odpowiedzi 740 wizyt
pytanie zadane 5 kwietnia 2022 w Mikrokontrolery przez Mavimix Dyskutant (8,490 p.)

93,772 zapytań

142,730 odpowiedzi

323,382 komentarzy

63,368 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.

...