Avatar billede rrm Nybegynder
24. november 2008 - 13:37 Der er 4 kommentarer

Swappe pointer adresser

Har lavet noget der skal sortere et array af pointers...

Min swap funktion ser således ud:

void swapUR(WPGrabUrlResourceStruct** a, WPGrabUrlResourceStruct** b)
{
    WPGrabUrlResourceStruct* tmp = *b;
    *b = *a;
    *a = tmp;
}

Og jeg kalder den med:
swapUR((input+i), (input+j));
hvor i og j er positionerne i arrayet. Selve arrayet er defineret som WPGrabUrlResourceStruct*..

Mit problem er så hvordan jeg får adresse på det enkelte element i arrayet, så jeg kan lave adresse bytningen???

Den nuværende giver mig:
'swapUR' : cannot convert parameter 1 from 'WPGrabUrlResourceStruct *' to 'WPGrabUrlResourceStruct **
Avatar billede arne_v Ekspert
24. november 2008 - 15:04 #1
&mitarray[index] er en god syntax

men jeg tror at dit problem er at du skal have:

WPGrabUrlResourceStruct **swapUR;

ikke:

WPGrabUrlResourceStruct *swapUR;

for at have dit array af pointers.
Avatar billede rrm Nybegynder
24. november 2008 - 16:31 #2
prøvede lige &input[i], men den brokker sig stadig...

Dvs i erkæringen af variablen???

Evt andre måder at gøre det på???
Avatar billede arne_v Ekspert
24. november 2008 - 17:19 #3
Ja.

Tror jeg ikke.
Avatar billede arne_v Ekspert
24. november 2008 - 17:21 #4
WPGrabUrlResourceStruct *swapUR;

er (kan vaere) en pointer til et array af structs

WPGrabUrlResourceStruct **swapUR;

er (kan vaere) en pointer til et array af af pointere til struct
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester