C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

new mehrdimensional

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (German)
View previous topic :: View next topic  
Author Message
M. Kalthoff
Guest





PostPosted: Wed Jun 01, 2005 5:29 am    Post subject: new mehrdimensional Reply with quote



servus,

ich versuche mal ein problem zu schildern:

ich brauche ein 2d-array. und zwar in
sämtlichen memberfunktionen.
wie kann ich das 2d-array nun gebrauchsfertig machen?

bisher wehrt es sich erfolgreich
gegen sämtliche lese- und schreibzugriffe,
und das wohl mit recht.

*new* mag 2 mal '[]' anscheinend nicht.

wäre nett wenn mir da jemand mitteilen
würde wie man das machen könnte/sollte.

thx
matze

---------------------------------------
//hier nochmal die ungefähre situation


class View{
char XXX[80][80];
public:
View();
~View();
void show();
};

View::View(){
char XXX = new char[80][80]; //funzt nich
}

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
Back to top
Markus Pesti
Guest





PostPosted: Wed Jun 01, 2005 10:10 am    Post subject: Re: new mehrdimensional Reply with quote



char XXX[80][80]; ist ja schon statisch. Wozu dann noch new?
Vieleicht meinst du:

char** xxx = new char*[80];
for(int i=0; i<80; i++)
xxx[i] = new char[80];

Markus


M. Kalthoff wrote:
Quote:
servus,

ich versuche mal ein problem zu schildern:

ich brauche ein 2d-array. und zwar in
sämtlichen memberfunktionen.
wie kann ich das 2d-array nun gebrauchsfertig machen?

bisher wehrt es sich erfolgreich
gegen sämtliche lese- und schreibzugriffe,
und das wohl mit recht.

*new* mag 2 mal '[]' anscheinend nicht.

wäre nett wenn mir da jemand mitteilen
würde wie man das machen könnte/sollte.

thx
matze

---------------------------------------
//hier nochmal die ungefähre situation


class View{
char XXX[80][80];
public:
View();
~View();
void show();
};

View::View(){
char XXX = new char[80][80]; //funzt nich
}


--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de

Back to top
Hendrik Belitz
Guest





PostPosted: Wed Jun 01, 2005 10:32 am    Post subject: Re: new mehrdimensional Reply with quote



M. Kalthoff wrote:

Quote:
servus,

ich versuche mal ein problem zu schildern:

ich brauche ein 2d-array. und zwar in
sämtlichen memberfunktionen.
wie kann ich das 2d-array nun gebrauchsfertig machen?

bisher wehrt es sich erfolgreich
gegen sämtliche lese- und schreibzugriffe,
und das wohl mit recht.

*new* mag 2 mal '[]' anscheinend nicht.

Nein, das darf es auch nicht.

Quote:
wäre nett wenn mir da jemand mitteilen
würde wie man das machen könnte/sollte.

Wenn's dynamisch sein soll, dann nimm einen
std::vector<std::vector

Quote:
class View{
char XXX[80][80]; <================ (1)
public:
View();
~View();
void show();
};

View::View(){
char XXX = new char[80][80]; //funzt nich <============= (2)
}

Warum hast Du ein fertiges Array als Member (1) und versuchst dann, dieses
Member mit new nochmals zu allokieren (2) ?
--
- Abort, Retry, Fthagn? -

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de

Back to top
Rolf Magnus
Guest





PostPosted: Wed Jun 01, 2005 11:12 am    Post subject: Re: new mehrdimensional Reply with quote

M. Kalthoff wrote:

Quote:
servus,

ich versuche mal ein problem zu schildern:

ich brauche ein 2d-array. und zwar in
sämtlichen memberfunktionen.
wie kann ich das 2d-array nun gebrauchsfertig machen?

Kommt drauf an. Da es eigentlich keine 2D-Arrays gibt, kommt es darauf an,
wie du es genau umsetzen willst.

Quote:
bisher wehrt es sich erfolgreich
gegen sämtliche lese- und schreibzugriffe,
und das wohl mit recht.

*new* mag 2 mal '[]' anscheinend nicht.

wäre nett wenn mir da jemand mitteilen
würde wie man das machen könnte/sollte.

thx
matze

---------------------------------------
//hier nochmal die ungefähre situation


class View{
char XXX[80][80];

Das ist bereits ein gebrauhsfertiges vollständiges Array aus 80 Arrays, von
denen jedes 80 char enthält.

Quote:
public:
View();
~View();
void show();
};

View::View(){
char XXX = new char[80][80]; //funzt nich

Hier erzeugst du lokal im Konstruktor einen neue Variable von Typ char.
Diese initialisierst du mit dem Zeiger!, den new zurückgibt. Diese
Operation ergibt so keinen Sinn, und sie hat auch nichts mit dem Member XXX
zu tun.



Quote:
}


--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de

Back to top
Karl Heinz Buchegger
Guest





PostPosted: Wed Jun 01, 2005 11:35 am    Post subject: Re: new mehrdimensional Reply with quote

"M. Kalthoff" wrote:
Quote:

servus,

ich versuche mal ein problem zu schildern:

ich brauche ein 2d-array. und zwar in
sämtlichen memberfunktionen.
wie kann ich das 2d-array nun gebrauchsfertig machen?


Ist zwar auf English, aber schau dir mal folgendes an

http://www.parashift.com/c++-faq-lite/freestore-mgmt.html#faq-16.16

das ist aus der comp.lang.c++ FAQ, die im uebrigen sehr empfehlenswert ist.

--
Karl Heinz Buchegger
[email]kbuchegg (AT) gascad (DOT) at[/email]

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de

Back to top
m. hartberg
Guest





PostPosted: Wed Jun 01, 2005 5:03 pm    Post subject: Re: new mehrdimensional Reply with quote

danke erstmal für eure antworten.

Quote:
View::View(){
char XXX = new char[80][80]; //funzt nich
}


hier hab ich mich selbstverständlich verschrieben.
das 'char' vorm 'XXX' gehört da natürlich überhaupt
nich hin. is mir schon direkt nach dem posten auf-
gefallen. ich konnt's nur nich verbessern weil's
halt schon seine zeit gedauert hat bis der post ankam.
aber egal.

das problem ist halt, dass es zu einer "access violation"
kommt sobald ich irgendwo in XXX was reinschreiben will.

der debugger zeigt mir XXX korrekt an. allerdings sind
die adressen der 1. dim halt alle in dem style "0xcccccccc".
die 2-dim enthält "Error: expression can not be evaluated"

das heisst für mich eigentlich, dass es das array zwar gibt,
der speicher aber nich richtig allokiert wurde, oder so.
deshalb dacht ich, ich müsste die nu erstma mit 'new'
empfangsbereit machen.

naja, ich muss es halt irgendwie mit diesem 2-dim-array
hinbekommen. mir fallen durchaus wege ein das zu umgehen,
aber die aufgabe gibt es nunmal so vor.

thx.
matze

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de

Back to top
Horst Kraemer
Guest





PostPosted: Wed Jun 01, 2005 8:38 pm    Post subject: Re: new mehrdimensional Reply with quote

"M. Kalthoff" <m.kalt (AT) web (DOT) de> wrote:

Quote:
servus,

ich versuche mal ein problem zu schildern:

ich brauche ein 2d-array. und zwar in
sämtlichen memberfunktionen.
wie kann ich das 2d-array nun gebrauchsfertig machen?

bisher wehrt es sich erfolgreich
gegen sämtliche lese- und schreibzugriffe,
und das wohl mit recht.

*new* mag 2 mal '[]' anscheinend nicht.

wäre nett wenn mir da jemand mitteilen
würde wie man das machen könnte/sollte.

thx
matze

---------------------------------------
//hier nochmal die ungefähre situation


class View{
char XXX[80][80];
public:
View();
~View();
void show();
};

View::View(){
char XXX = new char[80][80]; //funzt nich
}

Ich kann Dein Problem nicht erkennen. Das array ist doch vorhanden und
kann verwendet werden. Was versuchst Du denn, mit dem Array
anzustellen?


#include <iostream>
#include <cstring>
using namespace std;

class View{
char XXX[80][80];
public:
View() {};
~View() {}
void show() { cout << XXX[0] << endl; }
void set() { strcpy(XXX[0],"hallo"); }
};

int main()
{
View v;
v.set();
v.show();
}

--
Horst

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de

Back to top
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.