20. marts 2002 - 12:45Der er
9 kommentarer og 1 løsning
pointer og array problemer
Hvad gør jeg forkert, jeg får hele tiden windoze's alm. meddelelse "ulovlig handling" når jeg prøver at læse i arrayet
// dummy dynamisk liste med arrays int main() { // hardkodet indsæt i liste int value[5] = {10, 20, 30, 40, 50}; int *inner1[2]; int *inner2[2]; list[0] = *inner1; list[1] = &value[0]; inner1[0] = *inner2; inner1[1] = &value[1]; inner2[0] = 0; // slut på liste inner2[0] = &value[2];
det er fordi koden er fuldstæntig usammen hængende, og meget svært at gennemskue. Hvad er det du prøver at lave ?, det er sikkert lettere at kode noget nyt, end at få det til at hænge sammen for mig:-)
en ting jeg kan påpege er:
int *inner1[2]; int *inner2[2];
list[0] = *inner1; her tildeler du list[0] det hvad inner1[0] peger på (kopier addresse for det den peger på ind i list[0])... den peger bare ikke på noget !
inner1[0] = *inner2; får ikke indflydelse på list[0] = *inner1; da det ikke modificerer list[0]'s "værdi".
Jeg forsøger at lave en liste med et array af pointere, størrelsen på arrayet er 2, det ene array-element skal være værdien (pointer til værdien) det andet skal være en pointer til et nyt array af pointere der peger videre osv. (hægtet liste)
Det skal være via et array, det er bare for at afprøve den ide. Din klasse er ok, men det er en alm. selvreferende klasse til hægtede lister.
Problemet er vel der hvor der i javakoden laves en cast fra Object til Object[], fordi der bruges polymorfi til at hægte arrays og objekter på samme type reference (2 arrayelementer har jo samme type)
Jeg er kun lige begyndt med C++ og derfor kørt lidt fast med den pointeropgave.
Hvordan løses det med at have en pointer til selv at pege på en pointer (og forskellige til forskellige tidspunkter)?
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.