polsky77 Temat założony przez niniejszego użytkownika  | 
funkcje problem z tablicą » 2016-03-15 22:38:57 W programie glownym chce odwolac sie do funkcji radar.  Niestety podczas kompilacji wyskakuje mi bład:  ||=== Build: Debug in mecz (compiler: Copy of GNU GCC Compiler) ===|  D:\C++\mecz\zawodnik.h||In member function 'int zawodnik::radar(int*, int*, int, int)'Neutral  D:\C++\mecz\zawodnik.h|43|error: invalid types 'int[int]' for array subscript|  D:\C++\mecz\boisko.h|19|warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]|  D:\C++\mecz\boisko.h|20|warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]|  ||=== Build failed: 1 error(s), 2 warning(s) (0 minute(s), 0 second(s)) ===|  Fragment pliku main:  int maly_radarek[ 8 ]; maly_radarek[ 0 ] = tablica[ pozycja - 53 ]; maly_radarek[ 1 ] = tablica[ pozycja - 52 ]; maly_radarek[ 2 ] = tablica[ pozycja - 54 ]; maly_radarek[ 3 ] = tablica[ pozycja - 1 ]; maly_radarek[ 4 ] = tablica[ pozycja + 1 ]; maly_radarek[ 5 ] = tablica[ pozycja ]; maly_radarek[ 6 ] = tablica[ pozycja ]; maly_radarek[ 7 ] = tablica[ pozycja ];
  zawodnik::radar( tablica, pozycja, maly_radarek, ruch )
  plik zawodnik h, gdzie jest zapisana funkcja radar:  int radar( int * tablica, int * pozycja, int maly_radarek, int ruch ) {     int i = 0;     do {         if( maly_radarek[ i ] == 0 ) { ruch = 1; }          else { ruch = 0; }         i++;     }     while(( ruch != 0 ) ||( i == 8 ) );          return ruch; }
  Napiszcie proszę jak rozwiązac problem?  | 
 | 
carlosmay  | 
» 2016-03-15 22:42:27 int radar( int * tablica, int * pozycja, int maly_radarek, int ruch )  |  
 W nagłówku tej funkcji nie ma zadeklarowanej tablicy  maly_radarek, a używasz jej jak tablicy. I jeszcze są ostrzeżenia, że chcesz używać funkcjonalności z C++11, ale nie pewnie nie są włączone.  | 
 | 
polsky77 Temat założony przez niniejszego użytkownika  | 
» 2016-03-15 23:43:28 Poprawilem nagłowek funkcji: int radar( int * tablica, int * pozycja, int maly_radarek[], int ruch )
   blad:  D:\C++\mecz\WR .cpp|43|error: invalid conversion from 'int' to 'int*' [-fpermissive]| wywolanie funkcji zostawilem bez zmian: zawodnik::radar( tablica, pozycja, maly_radarek, ruch )
  blad: D:\C++\mecz\zawodnik.h|39|error:   initializing argument 2 of 'int zawodnik::radar(int*, int*, int*, int)' [-fpermissive]|  | 
 | 
michal11  | 
» 2016-03-15 23:56:14 zawodnik::radar( tablica, & pozycja, maly_radarek, ruch ) Zgaduję, że pozycja jest zwykłą zmienną, której nawiasem mówiąc nie używasz w funkcji, dlaczego przekazujesz ją przez wskaźnik ?  | 
 | 
polsky77 Temat założony przez niniejszego użytkownika  | 
» 2016-03-16 00:00:22 Dzieki michal11, teraz smiga:)  | 
 | 
|  « 1 »  |