Avatar billede Slettet bruger
20. august 2003 - 23:47 Der er 5 kommentarer og
1 løsning

Kald metode på objekt oprettet med new

_Helt_ ny i C++.

Når jeg kalder en metode på et objekt oprettet på heap'en med new, så kan jeg ikke finde ud af at kalde en metode:

Test *t = new Test;   
*t.foo(); // fejler
t.foo();  // fejler
delete t;

Er det noget med pointere jeg ikke har fattet? :)
Avatar billede Slettet bruger
20. august 2003 - 23:50 #1
request for member `foo' in `t', which is of non-aggregate type
Avatar billede bertelbrander Novice
20. august 2003 - 23:55 #2
Normalt bruger man t->foo(); til at kalde metoder for t hvis t er en pointer til en class.
Hvordan ser din Test class ud?
Avatar billede Slettet bruger
20. august 2003 - 23:57 #3
Det gjorde man også her. Tak.
Avatar billede Slettet bruger
21. august 2003 - 00:02 #4
Læg et svar.
Avatar billede bertelbrander Novice
21. august 2003 - 00:05 #5
Man kan dog også bruge de lidt mere obskure:

(*t).foo();
t[0].foo();
Avatar billede Slettet bruger
21. august 2003 - 00:06 #6
Javel ja :)
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