2-Dim Array (variable Feldgröße, zur Compilierzeit nicht bekannt) mit Map als Elemente



  • Hallo,

    ich hänge schon seit einigen Stunden an einem Problem.

    Ich möchte ein 2-Dimensionales Array erzeugen mit variable Feldgröße (Größe zur Compilierzeit nicht bekannt). Die einzelnen Elemente des 2-dim Arrays sollen map-elemente sein.

    wie kriege ich das hin? der kompiliert zwar, aber wenn ichs aufrufe (etwas einfüge) , stürzt der immer ab.

    Hier mein Code:

    ...
    // numU & numV seien vorher berechnet worden (Anzahl Zeilen/Spalten)
    numU = 4;
    numV = 7;
    
    typedef map<int, ParamPoint> f2gParamPointsMap_type;
    
    //erzeuge 2-dim f2gParamPointsMap_type-Feld
    f2gParamPointsMap_type**const mat = new f2gParamPointsMap_type* [numU];
    	for(int i=0; i<numV; ++i)	{
    		mat[i] = new f2gParamPointsMap_type[numV];
    	}
    
    // ---->> Hier passiert es-beim einfügen stürzt der ab ohne Fehlermeldung!!!
    
    //füge in jede Map der Matrix das Paar XX/YY ein
    for(int j=0; j<numU; ++j)	{
    	for(int k=0; k<numV; ++k)	{
    	    mat[j][k].insert(pair<XX, YY>( XXX,YYY ));
             }
    }
    

    Wär super nett, wenn mir jemand helfen könnte.

    Grüße
    Tugi2o



  • Hi,

    nach sehr langem suchen habe ich den fehler selbst gefunden...
    es war nur ein dummer leichtsinnsfehler...

    ...
    // numU & numV seien vorher berechnet worden (Anzahl Zeilen/Spalten)
    numU = 4;
    numV = 7;
    
    typedef map<int, ParamPoint> f2gParamPointsMap_type;
    
    //erzeuge 2-dim f2gParamPointsMap_type-Feld
    f2gParamPointsMap_type**const mat = new f2gParamPointsMap_type* [numU];
    

    for(int i=0; i<numU; ++i) {

    mat[i] = new f2gParamPointsMap_type[numV];
        }
    
    // ---->> Hier passiert es-beim einfügen stürzt der ab ohne Fehlermeldung!!!
    
    //füge in jede Map der Matrix das Paar XX/YY ein
    for(int j=0; j<numU; ++j)    {
        for(int k=0; k<numV; ++k)    {
            mat[j][k].insert(pair<XX, YY>( XXX,YYY ));
             }
    }
    

Anmelden zum Antworten