Avatar billede pham Nybegynder
26. maj 2005 - 22:22 Der er 8 kommentarer og
1 løsning

Indsætte objekt i vector

Hej,
Jeg kan ikke få følgende kode til at virke! æv æv
Jeg har ikke de store erfaringer inden for c++, men det jeg prøver på er at sætte objektet person ind i vectoren floors

#include <iostream>
#include <vector>
#include "Person.h"

using namespace std;

vector<Person> floors( );

int main()
{
    Person person = new Person( "Anders", 3, 5 );
    floors.push_back( person );
   
    delete person;
    person = NULL;
   
    return 0;
}

mvh
Anders Hansen
Avatar billede thomas_nj Nybegynder
26. maj 2005 - 22:25 #1
Person *person = new Person( "Anders", 3, 5 );
Avatar billede thomas_nj Nybegynder
26. maj 2005 - 22:26 #2
floors.push_back( *person );
Avatar billede pham Nybegynder
26. maj 2005 - 22:32 #3
Så får jeg desværre følgende fejl:

Driver.cpp request for member `push_back' in `floors', which is of non-class type `std::vector<Person, std::allocator<Person> > ()()'
Avatar billede thomas_nj Nybegynder
26. maj 2005 - 22:33 #4
vector<Person> floors;
Avatar billede pham Nybegynder
26. maj 2005 - 22:35 #5
ahh mange tak..

Ved at indsætte "*" vil det så sige at man benytter pointeren til objektet person?

mvh
Anders Hansen
Avatar billede thomas_nj Nybegynder
26. maj 2005 - 22:39 #6
Ja for at bruge new skal du bruge en pointer.
Avatar billede thomas_nj Nybegynder
26. maj 2005 - 22:42 #7
Lige en lille biting, ville nok flytte floors ind i mainfunktionen. Normalt skal man helst undgå globale variabler, da de kan ændres over alt i programmet
Avatar billede pham Nybegynder
26. maj 2005 - 22:44 #8
ok tak for hint'et.. :-)

Ligger du et svar?
Avatar billede thomas_nj Nybegynder
26. maj 2005 - 23:02 #9
Var så lidt. Hvis du gerne vil have en lidt mere uddybende forklaring på det med new http://www.cplusplus.com/doc/tutorial/tut3-4.html
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