[C++] Globalna dwuwymiarowa tablica obiektów
Ostatnio zmodyfikowano 2014-06-10 16:55
Piotrek1910 Temat założony przez niniejszego użytkownika |
[C++] Globalna dwuwymiarowa tablica obiektów » 2014-06-09 21:27:18 Witajcie pisze sobie gre. I nastał czas, że potrzebuje użyć klasy. Utworzyłem sobie klase w pliku include.h. class Blok { public: float x; float y; };
Blok blok[ 5 ][ 6 ];
W pliku main.cpp mam Blok blok[5][6]; no i uzupełniam dane za pomocą pętli. for( int i = 0; i < 5; i++ ) { cout << "I" << endl; for( int j = 0; j < 6; j++ ) { cout << "J" << endl; blok[ i ][ j ].x = xx; blok[ i ][ j ].y = yy; xx += 16 + szerokosc; } yy += 16 + wysokosc; xx = 40; } W pliku ball.cpp próbuje odczytać pewien segment danych takim sposobem: std::cout << blok[ 1 ][ 1 ].y << " | " << blok[ 1 ][ 1 ].x << std::endl;
I niestety problem jest w tym, że konsola wyświetla 0 | 0. I co moge zrobić? Pomożecie? |
|
pekfos |
» 2014-06-09 22:08:30 To nie powinno być w nagłówku. |
|
michal11 |
» 2014-06-09 22:21:16 Ciężko powiedzieć bez większej ilości kodu ale prawdopodobnie źle przesyłasz argumenty do funkcji. |
|
Piotrek1910 Temat założony przez niniejszego użytkownika |
» 2014-06-10 15:27:28 pekfos, a gdzie powinno? Bo ja próbowałem inaczej ale niestety kompilator mówił mi, że klasa jest dwa razy zdefiniowana.
michal11. ale, że jak źle? |
|
michal11 |
» 2014-06-10 15:34:01 Jak już pisałem, ciężko powiedzieć, ale z tego co piszesz to prawdopodobnie przesyłasz argumenty do funkcji przez kopię. |
|
pekfos |
» 2014-06-10 15:44:55 Deklaracja w nagłówku, definicja w implementacji. |
|
Piotrek1910 Temat założony przez niniejszego użytkownika |
» 2014-06-10 16:52:55 pekfos, tak tylko, że to nie działa. Próbowałem umieścić definicje troche w innym miejscu i wyszło: -1.07374e+008 | -1.07374e+008 |
|
DejaVu |
» 2014-06-10 16:55:13 Jeżeli już koniecznie chcesz mieć tablicę globalną to:
extern Blok blok[ 5 ][ 6 ];
Blok blok[ 5 ][ 6 ];
|
|
« 1 » |