problem
-
std::vector<Human*> angezogene_leute; Finger *zeigefinger = &angezogene_leute;1. Frage: Was ist hier falsch?
2. Frage: belegen zeiger schon bei ihrer deklaration speicherplatz oder erst nachdem sie etwas zugewiesen bekommen?
-
was ist hier falsch:
Stall<Schweine> meinSchweineStall; Kuh * meineKuh = &meinSchweineStall;
-
fingerr schrieb:
std::vector<Human*> angezogene_leute; Finger *zeigefinger = &angezogene_leute;Wenn du's unbedingt so machen willst:
std::vector<Human*> angezogene_leute; void *zeigerfinger = &angezogene_leute;Aber das gehört sich nicht, das weisst du ja.
-
Der Titel
. "problem" hat hier jeder, der einen Thread öffnet.
-
also richtig geht das so:
vector<*human> angezogenenemenschen; human einmensch; if (einmensch.finger(&menschen)) throw (political_correctness);
-
[quote="fingerr"]
std::vector<Human*> angezogene_leute; Finger *zeigefinger = &angezogene_leute;1. Frage: Was ist hier falsch?
1. der titel des threads.
2.typedef std::vector<Human*> HumanVector; typedef HumanVector Finger; HumanVector angezogene_leute; Finger *zeigefinger = &angezogene_leute;2. Frage: belegen zeiger schon bei ihrer deklaration speicherplatz oder erst nachdem sie etwas zugewiesen bekommen?
die frage ist vermutlich falsch gestellt. der zeiger an sich belegt immer genau den speicherplatz, der zum speichern einer adresse notwendig ist.
ob an der adresse dann gültiger speicher liegt, ist dem programmierer überlassen. der zeiger schert sich nicht drum.