Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » fehler bei dynamischem arrey

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
30.04.2006, 22:17 Uhr
mischa
Fragender


Hallo

C++:
BMKlas::BMKlas()
{ matrix=new unsigned short[SIZE][SIZE]; }


Der Compiler wirft mir diesen fehler raus

Code:

4 C:\Dokumente und Einstellungen\Mischa\Desktop\Sudoku\Sudoku.cpp cannot convert `short unsigned int (*)[8]' to `short unsigned int*' in assignment


muss man bei dynamischen 2 demensionalen arreys etwas spezielles beachten oder geht es garnicht, weil wenn ich es 1 demensional mache gehts.
danke im vorfeld
--
Latein Unterricht ist die spätere Rache der Römer an den Germanen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
30.04.2006, 22:20 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


du kansnt so keine 2d arrays allokieren... musst ggf erst ein array von unsigned short pointer allokieren und diese dann jeweils auf ein array von unsigned shorts zeigen lassen...

einfacher ist es ein 1d array zu verwenden und über ne indexrechnung drauf zuzugreifen...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
01.05.2006, 14:39 Uhr
mischa
Fragender


was würde eigentlich da am schnellsten gehen weil ich muss sehr viele schleifen an den arreys durchlaufen lassen
--
Latein Unterricht ist die spätere Rache der Römer an den Germanen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
03.05.2006, 06:38 Uhr
Helmut



Hallo!

Ob du direkt mit mehrdimensionalen Arrays arbeitest oder mit
Zeigern auf solche Arrays, beides ist komfortabel zu handhaben
und beides ist gleich schnell. Intern arbeitet der Compiler immer
mit Zeigern. Hier noch ein Beispiel mit der Schreibweise für
Zeiger auf mehrdimensionale Arrays.


C++:

int main()
{
    int arr[12][4];           //Array  
    int (*parr)[4] = arr;   //Initialisierung eines Zeigers auf dieses Array
    arr[7][1] = 4711;      //direkter Zugriff auf int (Zuweisung)
    parr[7][1] = 4711;    //die gleiche Zuweisung mittels Zeiger
    
    int (*pmatrix)[4] = new int [12][4];   //Array mit new erzeugen
    pmatrix[8][3] = 4711; //Zugriff auf int (Zuweisung)

    return 0;
}





MfG Helmut
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
03.05.2006, 06:45 Uhr
Helmut



sorry delete[] vergessen!

C++:
int main()
{
    int arr[12][4];          //Array  
    int (*parr)[4] = arr;   //Initialisierung eines Zeigers auf dieses Array
    arr[7][1] = 4711;       //direkter Zugriff auf int (Zuweisung)
    parr[7][1] = 4711;       //die gleiche Zuweisung mittels Zeiger
    
    int (*pmatrix)[4] = new int [12][4];   //Array mit new erzeugen
    pmatrix[8][3] = 4711;   //Zugriff auf int (Zuweisung)
    
    delete[] pmatrix;
    return 0;
}



 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
03.05.2006, 20:47 Uhr
mischa
Fragender


danke
--
Latein Unterricht ist die spätere Rache der Römer an den Germanen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: