Hallo zusammen,
folgendes Problem:
ich habe eine Klasse Block.cpp und Block.h, die intern ein array enthält, und nun möchte ich aus einer Klasse MainMenuState.cpp und .h auf dieses Array zugreifen.
Ein block objekt wird in mainmenustate erzeugt und initialisiert, wobei auch mein array form[3][3] ensteht.
Danach möchte ich in MainMenuState die funktion block.getform() ausführen können die mir einen Pointer auf form returned.
Nach langem suchen und lesen, ist mir klar, dass ein array auch nur ein pointer auf das erste element ist.
Ich habe rausgefunden, dass es bei einer einfachen integer variable so funktionieren sollte:
int* Block::getform()
{
return &a;
}
und bei aufruf
int* b =getform();
Nun ist mein array ein 2D array....
geht das nun so:
int* Block::getform()
{
return &form;
}
oder so:
int* Block::getform()
{
return &form[0][0];
}
oder so:
int** Block::getform()
{
return &form[0];
}
Alle möglichkeiten irgendwo gelesen aber keine funktioniert für mich...
Bei Bedarf kann ich meinen ganzen quelltext hochladen...
folgendes Problem:
ich habe eine Klasse Block.cpp und Block.h, die intern ein array enthält, und nun möchte ich aus einer Klasse MainMenuState.cpp und .h auf dieses Array zugreifen.
Ein block objekt wird in mainmenustate erzeugt und initialisiert, wobei auch mein array form[3][3] ensteht.
Danach möchte ich in MainMenuState die funktion block.getform() ausführen können die mir einen Pointer auf form returned.
Nach langem suchen und lesen, ist mir klar, dass ein array auch nur ein pointer auf das erste element ist.
Ich habe rausgefunden, dass es bei einer einfachen integer variable so funktionieren sollte:
int* Block::getform()
{
return &a;
}
und bei aufruf
int* b =getform();
Nun ist mein array ein 2D array....
geht das nun so:
int* Block::getform()
{
return &form;
}
oder so:
int* Block::getform()
{
return &form[0][0];
}
oder so:
int** Block::getform()
{
return &form[0];
}
Alle möglichkeiten irgendwo gelesen aber keine funktioniert für mich...
Bei Bedarf kann ich meinen ganzen quelltext hochladen...