Forum: Skicka struct till funktion

Forum huvudsida -> Programmering -> Skicka struct till funktion

Sidor: 1

Till botten

karra 10:54 - 8:e Oktober 2007 | Post #1
Medlem
Inlägg: 1


Skicka PM
Hej!

Jag har ett litet problem som jag inte blir klok på.

Jag har problem med att skicka en struct till en funktion
och för att ändra en post
ex:


  1. [/SOURCE]
  2. #include <iostream>
  3.  
  4.  
  5. using std::cout;
  6. using std::cin;
  7. using std::endl;
  8.  
  9.  
  10. struct fakta
  11. {
  12. int pris;
  13. };
  14.  
  15.  
  16. struct vekt
  17. {
  18. fakta reg[100];
  19. };
  20.  
  21.  
  22. void funk(fakta *x)
  23. {
  24. x.reg[0].pris = 5;
  25. }
  26.  
  27. int main()
  28. {
  29.  
  30. fakta x;
  31.  
  32. funk(&x);
  33.  
  34. cout << x.reg[0]pris;
  35.  
  36. return 0;
  37. }
  38.  
  39. [SOURCE=]


När jag försöker kompilera denna så får jag medelandet:
request for member ''pris'' in ''x'', which is of a non-class type ''fakta''*

Någon som har någon idé om vad jag gör för fel?

//Karra




Slash 12:23 - 8:e Oktober 2007 | Post #2
Medlem
Inlägg: 141


Skicka PM
Jag tror det blev lite fel där, där du ville ha av en vekt-struct ser det ut som du gjort av en fakta-struct. När du skickar in en pekare använder du operatorn -> för att komma åt dess medlemmar. Du kan också om du vill avrefernsera pekaren med *-operatorn.

  1. #include <iostream>
  2.  
  3.  
  4. using std::cout;
  5. using std::cin;
  6. using std::endl;
  7.  
  8.  
  9. struct fakta
  10. {
  11. int pris;
  12. };
  13.  
  14.  
  15. struct vekt
  16. {
  17. fakta reg[100];
  18. };
  19.  
  20.  
  21. void funk(vekt *x)
  22. {
  23. // Detsamma som: (*x).reg[0].pris = 5;
  24. x->reg[0].pris = 5;
  25. }
  26.  
  27. int main()
  28. {
  29.  
  30. vekt x;
  31. funk(&x);
  32. cout << x.reg[0]pris;
  33. return 0;
  34. }


Allt kanske inte blev korrekt men förhoppnigsvis ett steg närmareSmiley


-------------------------
Ingen sigantur!

Senast redigerad 12:27 - 8:e Oktober 2007


Sidor: 1

Forum huvudsida -> Programmering -> Skicka struct till funktion
Atom feed

Du får inte posta i den här tråden | Till toppen