Błąd: 'float' previously declared here

0

Przy kompilacji wyskakuje mi taki błąd:

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?

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.

8

Problem pierwszy używanie zmiennych globalnych.
Problem drugi umieszczenie ich w pliku nagłówkowym.
Problem trzeci brak w nagłówku Header guard Jak działa strażnik nagłówka ifndef? (gdyby header guard był, to byłby bład linkowania, a nie kompilacji).

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ą.

0

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1