2 Dimensionales char* initalisieren?



  • Kriegs nicht hin bekomme immer einen Fehler, wie ist die richtige Schreibweise:

    hab auch schon char* sBitrateData[][] = {...} versucht

    char sBitrateData[][][] = {
    	    {"999","999","999","999","999","999"},
    	    {"032","032","032","032","008","008"},
    	    {"064","048","040","048","016","016"},
    	    {"096","056","048","056","024","024"},
    	    {"128","064","056","064","032","032"},
    	    {"160","080","064","080","040","040"},
    	    {"192","096","080","096","048","048"},
    	    {"224","112","096","112","056","056"},
    	    {"256","128","112","128","064","064"},
    	    {"288","160","128","144","080","080"},
    	    {"320","192","160","160","096","096"},
    	    {"352","224","192","176","112","112"},
    	    {"384","256","224","192","128","128"},
    	    {"416","320","256","224","144","144"},
    	    {"448","384","320","256","160","160"},
    	    {"999","999","999","999","999","999"}};
    


  • const char * sBitrateData[][6] =
    {
      {"999","999","999","999","999","999"},
      // ...
    };
    

    Du mußt immer die maximale Dimension der nicht-äußersten Dimensionen angeben.
    "const" habe ich angegeben, weil du sicherlich die String-Inhalte nicht mehr verändern willst.

    P.S: Die Größe des Arrays bekommst du dann nachträglich folgendermaßen heraus:

    const int nBitrateDataCount = sizeof(sBitrateData) / sizeof(sBitrateData[0]);
    


  • Danke für die Antwort.
    Es funktioniert. Aber wieso erkennt er die größe nicht an meinen geschweiften Klammern?


Anmelden zum Antworten