Problem bei der Deklaration eines Zeigerfeldes auf verschieden grosse Arrays



  • Hallo, ich möchte gern ein Feld von Zeigern auf unterschiedlich große long-Arrays zeigen lassen.

    Im Falle von char* - Arrays kein Problem:

    char* str_arr[] = // OK
    	{
    		"a",
    		"ab",
    		"abc"
    	};
    

    Aber hier gibts Probleme:

    long  *plong_arr[254] = // COMPILER GEMECKER
    	{
    		{0x288B},
    		{0x20,0x20} // error C2078: too many initializers
    	};
    

    Kenn jemand eine Möglichkeit, wie ich so ein long-Zeiger-Array auf verschieden große Arrays zeigen lassen und gleich initialisieren kann ?

    MfG
    [?]



  • Du mußt die Arrays, auf die du zeigen willst, vor der Definition anlegen, dann kannst du ihre Adressen dort angeben:

    long arr1[]={...},arr2[]={...},...;
    long* larr[]={arr1,arr2,...};
    

    (bei char* funktioniert das, weil String-Literale speziell behandelt werden und der Compiler automatisch die char-Arrays anlegt)



  • Das ist ja schade, das es nicht geht. Trotzdem danke für deine Antwort. 🙂


Anmelden zum Antworten