[c++] Hoe met cin.get in een structure plaatsen

Pagina: 1
Acties:

  • Dennis Nijhuis
  • Registratie: December 2000
  • Laatst online: 09-03-2025
Ik heb met de volgende code het probleem dat ik met cin.get niet iets in een string kan plaatsen die binnen een structure staat.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
struct klant
   {
    int klantnr;
    char naam[20];
    char adres[30];
    char woonplaats[20];
    char telefoon[10];
   };
struct klant klanten;

cin.get(klanten.klantnr);
cin.get(klanten.naam,20);
cin.get(klanten.adres,30);
cin.get(klanten.woonplaats,20);
cin.get(klanten.telefoon,10);

als ik dit uitvoer krijg ik de volgende foutmelding:
Ambiguity between 'istream::get(char &)' and 'istream::get(signed char &)'
wie weet hoe ik dit kan oplossen? ik heb al iets gehoord over private classes enz. maar ik weet niet hoe ik het aan moet pakken.

Bestuh!!


  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 07-09 08:58
1) Gebruik std::string ipv char[]
2) Gebruik getline( cin, std::string& )

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • whoami
  • Registratie: December 2000
  • Laatst online: 14:34
Op welke regel krijg je die fout? volgens mij zou het wel eens kunnen te maken met
code:
1
cin.get(klantnr);

omdat klantnr een int is, en die cin.get blijkbaar een char* verwacht.

Verder kun je natuurlijk ook de tips van MSalters gaan toepassen.

https://fgheysels.github.io/


  • Dennis Nijhuis
  • Registratie: December 2000
  • Laatst online: 09-03-2025
Beetje laat, ik weet het, maar ik heb de oplossingen even geprobeerd. Dat wat whoami zei klopt wel. Maar ik heb ook geprobeerd met dat std van MSalters, dat werkt niet, want ik weet niet welke class ofzo ik moet invoegen, en heb daar ook niet echt wat over kunnen vinden... ik hoop dat je me nog iets verder kunt helpen.....

Bestuh!!


  • whoami
  • Registratie: December 2000
  • Laatst online: 14:34
Uhm, ik denk dat het iets te maken heeft met namespaces, maar het is al enige tijd geleden dat ik nog wat in C++ gedaan heb, dus ik kan niet concreet de syntax gaan typen.

Maar volgens mij was het iets in die aard:
code:
1
2
3
#include <iostream>

using namespace std

ofzo.

https://fgheysels.github.io/