Pewnie dla was będzie to banalny problem ale nie umiem sobie z nim poradzić i mnie zaciekawił więc pisze. Język to C++.
Mam funkcje nic nie zwracającą i bez argumentów, ponieważ działa na zmiennych globalnych których deklaracje znajdującą się w pliku nagłówkowym powiedzmy "xxx.h", deklaracja funkcji też jest w pliku "xxx.h".
I teraz to czego nie rozumiem: jeśli jej definicje wsadzę w plik z main'em, wszystko chodzi jak należy, natomiast jeśli tą samą definicje umieszcze w innym pliku, gdzie trzymam funkcje "fun.cpp" albo w "xxx.h", wywołanie funkcji działa, nie ma błędów, ale z jakiegoś powodu nie zmienia wartości zmiennych globalnych.
Tzn. w obrębie funkcji ich wartości są zmieniane ale po wykonaniu funcji powracają do stanu przed jej wykonaniem, i jeśli zmienne globalne podam w argumentach przez referencje, wszystko jest ok. Więc pewnie funkcja tworzy ich kopie w swoim zakresie i działa na kopiach.
I pytanie:
Dlaczego ta sama funkcja zachowuję się inaczej w tych plikach?? I czy jest jakiś sposób żeby działała w "fun.cpp" tak samo jak w "main.cpp".