Mehrdimensionales const char Array
-
Hallo Forum,
eine Funktion erwartet als Parameter einen "const char *". Ich möchte diese Funktion nun in in einer Schleife mit verschiedenen Parametern aufrufen. Mein Code:
int PingServer(const char *cServerName, const char *cPW); void main () { const char *cAccessPW[][2] = {{"0", "a"}, {"1", "a"}, {"2", "b"}, {"3", "c"}, {"4", "d"}, {"5", "e"} }; for (i=0; i<6; i++) { retval += PingServer(cAccessPW[i,0], cAccessPW[i,0]); } }
Die Fehlermeldung ist:
> function' : 'const char *' differs in levels of indirection from 'const char *[2]'1. Das verstehe ich nicht ganz, denn das Array besteht doch aus "const char *" Pointern. Woher kommt das Array?
2. Gibt es eine Möglichkeit die Arraygrenzen in der For Schleife dynamisch errechnen zu lassen? Die Anzahl der Einträge wird sicher bald steigen...
Vielen Dank
Malte
-
1. das mit const darfst Du nicht so ernst nehmen
2. [i][0] statt [i,0] ist die Lösung
3. Vielleicht mache ich mal eine Page auf, in der jede Internetseite angeprangert wird, die in ihrem Text "void main" stehen hat. Schwerer Ausnahmefehler!!!
-
Ich möchte ja alle Warnungen beseitigen...
Den zweiten Punkt habe ich mittlerweile selber herausgefunden:
sizeof(cAccessPW) / sizeof(cAccessPW[0])
http://www.c-plusplus.net/forum/viewtopic-var-t-is-174658.htmlVielen Dank
Malte