Avatar billede root Nybegynder
12. april 2000 - 10:15 Der er 1 kommentar og
1 løsning

begynder spm. om pointers

#include<iostream.h>
#include<stdlib.h>

int main()
{
double x;               
double *pointer;
pointer=&x;       
cout << "Indtast et heltal: ";
cin >> x;
cout << endl << *pointer << "\t" << x << endl;
cout << "\naddresser i hukommelsen: " << &x << " og " << pointer << endl << endl;
system("PAUSE");
delete pointer;
return 0;
}

Dette program får mit dosvindue til at "fryse" eller loope - eller hvad ved jeg...
Problemet forsvinder hvis jeg enten tager "delete pointer" væk - eller, hvis jeg tager "pointer=&x" væk...Er det fordi man ikke kan slette en pointer der peger på noget?
Jeg ønsker blot en forklaring på dette...

Avatar billede nolle_k Nybegynder
12. april 2000 - 11:17 #1
Du skal ikke slette pointer da du bare har sat den til at pege på en variabel som compileren selv sørger for at slette ved udgangen af funktionen! Den fryser højest sandsynligt fordi variablen slettes to gange! Du skal kun bruge delete når du også bruger new !!

Avatar billede nolle_k Nybegynder
12. april 2000 - 11:18 #2
Du skulle have skrevet
double* pointer = new double
og så
delete pointer !

Det vil virke!!
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