[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 » |