Zmienna globalna - brak wartości

0

Cześć, mam taki problem: w jednym pliku .cpp deklaruję zmienną globalną i przypisuję jej wartość 1000. W innym pliku w konstruktorze pewnej klasy wykorzystuję tą zmienną globalną. Problem w tym, że w konstruktorze ta zmienna ma wartość 0 :/. Mam więc pytanie co może być tego powodem? Czy to jest normalne w C++? W żadnym innym pliku nie ruszam tej zmiennej więc dlaczego wynosi ona 0?

0

Aaaa, nie było pytania ;-)

2

Zmienne globalne to często zły design.

Zapewne zdefiniowałeś tą różne zmienne o tej samej nazwie (to UB, tak przy okazji), zamiast zadeklarować, że korzystasz z globalnej (extern int x zamiast kolejnej definicji int x). Linker nie ma obowiązku informowania o łamaniu zasady jednej definicji (ze względów wydajnościowych), więc informacji możesz nie dostawać.

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