Avatar billede morw Nybegynder
03. april 2003 - 19:03 Der er 7 kommentarer og
1 løsning

Pointer i function

Jeg denne funktion:


void behandle(map<int, Deltager_info> *al, int id)
{
  string denne;

  cout << *al[id].buffer << endl;

Jeg kan dog ikke hitte ud af hvordan jeg angiver det som pointer og samtidig får fat i buffer i min strukt, som ligger i mit map.

> g++ server.cc -o server
server.cc: In function `void behandle(map<int,Deltager_info,less<int>,allocator<Deltager_info> > *, int)':
server.cc:57: `class map<int,Deltager_info,less<int>,allocator<Deltager_info> >' has no member named `buffer'
Avatar billede arne_v Ekspert
03. april 2003 - 19:06 #1
(*al[id]).buffer

eller

*al[id]->buffer
Avatar billede arne_v Ekspert
03. april 2003 - 19:07 #2
Ups.

(*al[id]).buffer

eller

al[id]->buffer
Avatar billede arne_v Ekspert
03. april 2003 - 19:07 #3
(når man bruger -> skal stjernen væk)
Avatar billede morw Nybegynder
03. april 2003 - 19:10 #4
al[id]->buffer giver:

server.cc: In function `void behandle(map<int,Deltager_info,less<int>,allocator<Deltager_info> > *, int)':
server.cc:57: base operand of `->' has non-pointer type `map<int,Deltager_info,less<int>,allocator<Deltager_info> >'

(*al[id]).buffer giver:

server.cc: In function `void behandle(map<int,Deltager_info,less<int>,allocator<Deltager_info> > *, int)':
server.cc:57: no match for `*map<int,Deltager_info,less<int>,allocator<Deltager_info> > &'
Avatar billede morw Nybegynder
03. april 2003 - 19:11 #5
(*al)[id].buffer compiler
Avatar billede arne_v Ekspert
03. april 2003 - 19:12 #6
Så er der et eller andet ved map jeg ikke forstår.

:-)

Men virker det andet, så er det vel også godt.
Avatar billede morw Nybegynder
03. april 2003 - 19:23 #7
Kan man ikke have sådan et udsagn i en while?

while(denne = hent(&(*al)[id].buffer))
  {
    cout << "Ud: " << denne << endl;
  }


hent returnere 0 når der ikke er flere tilbage ellers en string
Avatar billede morw Nybegynder
03. april 2003 - 19:24 #8
server.cc: In function `void behandle(map<int,Deltager_info,less<int>,allocator<Deltager_info> > *, int)':
server.cc:61: `class basic_string<char,string_char_traits<char>,__default_alloc_template<false,0> >' used where a `bool' was expected
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