Błąd: 'float' previously declared here

Błąd: 'float' previously declared here
PolskaGra
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 17
0

Przy kompilacji wyskakuje mi taki błąd:

Kopiuj
MainCharacter.hpp:4:7: error: redefinition of 'float MainCharX'
4 | float MainCharX;
  |       ^~~~~~~~~
MainCharacter.hpp:4:7: note: 'float MainCharX' previously declared here
4 | float MainCharX;
  |       ^~~~~~~~~
MainCharacter.hpp:5:7: error: redefinition of 'float MainCharY'
5 | float MainCharY;
  |       ^~~~~~~~~
MainCharacter.hpp:5:7: note: 'float MainCharY' previously declared here
5 | float MainCharY;
  |       ^~~~~~~~~
MainCharacter.hpp:7:7: error: redefinition of 'float MainCharVelX'
7 | float MainCharVelX;
  |       ^~~~~~~~~~~~
MainCharacter.hpp:7:7: note: 'float MainCharVelX' previously declared here
7 | float MainCharVelX;
  |       ^~~~~~~~~~~~
MainCharacter.hpp:8:7: error: redefinition of 'float MainCharVelY'
8 | float MainCharVelY;
  |       ^~~~~~~~~~~~
MainCharacter.hpp:8:7: note: 'float MainCharVelY' previously declared here
8 | float MainCharVelY;
  |       ^~~~~~~~~~~~

Niestety nie wiem jak go naprawić.
Może ktoś pomóc?

B2
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 83
3

Definicja zmiennej globalnej w nagłówku? Zmienne globalnej powinieneś definiować w .cpp, a w .hpp dać co najwyżej extern, a najlepiej w ogóle nie używać zmiennych globalnych, na ile to możliwe.

MarekR22
  • Rejestracja: dni
  • Ostatnio: dni
8

Problem pierwszy używanie zmiennych globalnych.
Problem drugi umieszczenie ich w pliku nagłówkowym.
Problem trzeci brak w nagłówku Header guard https://4programmers.net/Forum/Newbie/239972-jak_dziala_straznik_naglowka_ifndef (gdyby header guard był, to byłby bład linkowania, a nie kompilacji).

AK
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3561
2

Najpierw podstawy, Gra podbijająca Polskę będzie "trochę" później

MarekR22 napisał(a):

Problem pierwszy używanie zmiennych globalnych.

Co więcej, obawiam się struktur nie zna, oddzielne zmienne na X i Y mi to sugerują.

CZ
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2541
0

Nie możesz mieć dwóch zmiennych o tej samej nazwie.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.