PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [C++]Wieder mal Array ein übergeben


pippo
2006-12-19, 16:48:39
Ich verplans grad wieder voll und find den Fehler net.

#define PAT_CNT 2
#define LMAX_Y 16
#define LMAX_X 32

#include <iostream>
using namespace std;

bool CheckPosition(unsigned char *[LMAX_Y][LMAX_X+1], unsigned int *[2]);


int main()
{
unsigned char LabPat[PAT_CNT][LMAX_Y][LMAX_X+1] =
{{"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X ",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X XX X",
"X XX XXX XXXXXXXXXXXXXXXXXXXXX X",
"X XX XXX XX X",
"X XX XXX XXXXXXXXXXXXXXXXXX XX X",
"X XX XXX XXXXXXXX XXXXXXXXX XX X",
"X XX XX X XX XX X",
"X XX XX XXXXXXXXXXXXXXXX XXXXX X",
"X XX XX XX XX X",
"X XX XXXXXXXXXXXXXXXXXXXXXX XX X",
"X XX XX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
"X X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"},

{"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"X X",
"X XXXXXXXXXXXXXXX XXXXXXXXXXXXXX",
"X XX X",
"X XX XXX XXXXXXXXXXXXXXXXXXXXX X",
"X XX XX XX X",
"X XX XXX XXXXXXX XXXXXXXXXX XX X",
"X XX XXX XXXXXXXXXXXXXXXXXX XX X",
"X XX XX X XX XX X",
"X XX XX XXXXXXXX XXXXXXX XXXXX X",
"X XX XX XX XX X",
"X XX XXXXXXXXXXXXXXXXXXXXXX XX X",
"X XX XX X",
"X XXXXXXXXXXXXXXXXXXXXXXXXXXXX X",
" X",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"}};

unsigned int LabStart[PAT_CNT][2] = {{7,16},{6,16}}, Lab=0, Warte=0;

cout << "Waehlen sie ein Labyrinth: ";
cin >> Lab;

CheckPosition (LabPat[Lab-1], LabStart[Lab-1]);

cin >> Warte;
return 0;
}


bool CheckPosition (unsigned char *LapPat[LMAX_Y][LMAX_X+1], unsigned int *LabStart[2]) {
return true;
}

Fehlermeldung:
error C2664: 'CheckPosition': Konvertierung des Parameters 1 von 'unsigned char [16][33]' in 'unsigned char *[][33]' nicht möglich
Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.

Neomi
2006-12-19, 17:31:08
Ein Array eines Typs kann zwar wie ein Pointer auf den Typ gehandhabt werden, ein Array von Pointern ist aber wieder was ganz anderes. Numm einfach das * im Prototypen und dem Funktionskopf raus, dann sollte es funktionieren.

pippo
2006-12-19, 17:34:57
Oh mein Gott, es funktioniert :) THX