Hi Experten!
Wie übergebe ich denn einer Funktion einen Array aus Zeigern? Beispiel:
void main(int argc,char* argv[]) {
testfunktion(argv);
}
Wie muss der Function-Header aussehen?
Vielen Dank für Eure Hilfe
Lex.
Hi Experten!
Wie übergebe ich denn einer Funktion einen Array aus Zeigern? Beispiel:
void main(int argc,char* argv[]) {
testfunktion(argv);
}
Wie muss der Function-Header aussehen?
Vielen Dank für Eure Hilfe
Lex.
Hi Lexus,
etwa so:
func(char *argv[]);
int main( int argc, char *argv[] )
{
func(argv);
}
Gruß Patrick
Nun, dies geht soweit schon. Nur versuche ich jetzt, diesen Parameter an eine Klasse zu übergeben, etwa so:
class Parameter {
private:
char* argv[];
public:
Parameter(int orgargc, char* orgargv[]) {
argv = orgargv;
}
};
Dabei bricht der Compiler auf der Zeile argv=orgargv ab mit der Meldung: LVALUE required!
Was mache ich falsch?
Gruss
lex.
Hi Lexus,
die Zeile:
argv = orgargv
funktioniert nicht, da es nicht möglich ist einem Array ein
anderes Array zuzuweisen.
Mein Vorschlag ist, Du fügst Deiner Klasse einen Zeiger auf
dieses Array hinzu, dann sieht es ungefähr so aus:
class CTest
{
public:
CTest(int i, char* j[]) { k = (char*(*)[])&j[0]; }
private:
char*(*k)[];
};
Gruß Patrick