Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Problem z tablicą przezyłaną do funkcji

Ostatnio zmodyfikowano 2014-12-23 13:31
Autor Wiadomość
ext32
Temat założony przez niniejszego użytkownika
Problem z tablicą przezyłaną do funkcji
» 2014-12-23 12:39:33
Witam, jest problem z przesłaniem tablicy do funkcji.
Problem:
main.cpp: In function ‘void print_board(int*, int)’:
main.cpp:27:20: error: invalid types ‘int[int]’ for array subscript
main.cpp:28:25: error: invalid types ‘int[int]’ for array subscript

Kod:

#include <iostream>

using namespace std;

void print_board(int *board, int);

int main(){
int board1[2][10][10];
for(int i=0; i<10; i++){
for(int j=0; j<10; j++){
board1[0][i][j]=0;
board1[1][i][j]=0;
}
}
print_board(&board1[0][0][0], 0);
return 0;




void print_board(int *board, int pnum){
char a = 'A';
cout << " 0123456789" << endl;
for(int i=0; i<10; i++){
cout << a;
for(int j=0; j<10; j++){
if(board[pnum][i][j]==0) cout <<"O";
else if(board[pnum][i][j]==1) cout <<"I";
else cout << "X";
}
a++;
cout << endl;
}
}
P-123268
darko202
» 2014-12-23 13:31:47
Przy przekazywaniu tablicy wielowymiarowej do funkcji można pominąć tylko pierwszy rozmiar, pozostałe muszą być podane.

1.
int tab[4][6];
int foo(int (*x)[6]);
http://forum.dobreprogramy.pl​/c-przekazywanie-tablic-wielowy​miarowych-do-funkcji-t416143​/

2.
C/C++
void pokaz( int ** tab2D, int ilewierszy, int ilekolumn )
{
    for( int i = 0; i < ilewierszy; i++ )
    {
        for( int j = 0; j < ilekolumn; j++ )
             cout << tab2D[ i ][ j ] << "  ";
       
        cout << endl;;
    }
}

int ** tab;
int k, w;

cin >> w;
cin >> k;

tab = new int *[ w ];
for( int i = 0; i < w; i++ )
     tab[ i ] = new int[ k ];

pokaz( tab, w, k );

http://peb.pl/programowanie​/332836-c-przekazywanie-tablic-wielo-wymiarowych-do.html

3.
Tablicę o stałych rozmiarach można przekazać przez referencję. [c]void foo(int (&a)[m][n]) //gdzie m i n to stałe.[/c] W tym wypadku nie potrzeba przekazywać wielkości bo można ją sobie obliczyć sizeof.
http://www.binboy.org/forum/programowanie/c-cpp/5312-tablice_wielowymiarowe_przekaz​ywane_do_funkcji.htm​l
P-123272
« 1 »
  Strona 1 z 1