Problem z programem na wielu plikach.

2011-10-08 17:25
0

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

Pozostało 580 znaków

2011-10-08 17:34

extern


I fart u die.

Pozostało 580 znaków

2011-10-08 22:20
0

I znowu czuje się jak idiota ^^, przy okazji wykryłem jeszcze jeden poważny błąd w kodzie.
Piwo dla pana, a temat do zamknięcia.

Pozostało 580 znaków

Liczba odpowiedzi na stronę

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