Gå til innhold

no matching function for call to `getline()' ?


Anbefalte innlegg

#include <cstdlib>

#include <iostream>

 

using namespace std;

 

int main()

{

 

 

string myName = "William";

while (true) {

cout << "Skriv inn navnet ditt (Eller 'stopp' for å avslutte): ";

string userName = getline();

if (userName == "Espen") {

cout << "Hei, Espen! Velkommen tilbake!" << endl << endl;

} else if (userName == "stopp") {

 

cout << endl;

break;

} else if (userName != myName) {

 

cout << "Hallo, " << userName << endl << endl;

} else {

cout << "Oja, det er bare deg " << myName << endl << endl;

}

}

 

 

system("PAUSE");

return 0;

}

 

Jeg får den feilen som står i topic, og er veldig usikker på hva jeg må gjøre for å få den til å funke.. noen som har noen gode råd?

Endret av CogBliZ
Lenke til kommentar
Videoannonse
Annonse

Endret bare litt på noen småting. Det er mye lettere å bruke cin enn getline i dette tilfellet.

 

#include <iostream>
#include <string>

using namespace std;

int main()
{


string myName = "William";
string userName;
while (true) {
cout << "Skriv inn navnet ditt (Eller 'stopp' for å avslutte): ";
cin >> userName;
if (userName == "Espen") {
cout << "Hei, Espen! Velkommen tilbake!" << endl << endl;
} else if (userName == "stopp") {

cout << endl;
break;
} else if (userName != myName) {

cout << "Hallo, " << userName << endl << endl;
} else {
cout << "Oja, det er bare deg " << myName << endl << endl;
}
}


system("PAUSE");
return 0;
}

Endret av ToMmM
Lenke til kommentar

Ja i dette tilfellet er det det, men jeg har en oppgave på skolen som sier eg skal bruke strings, og denne koden var bare et eksempel.. jeg vil egentlig bare vite hva den feilmeldingen betyr.. hvordan kan jeg få string commands som getline(), find() osv til å funke?

Lenke til kommentar

Hentet dette fra en av powerpoint presentasjonene i faget Programmering i C++, som jeg har nå, håper det hjelper.

 

Dersom man ønsker å lese inn hele setninger kan

man bruke getline() funksjonen, slik:

string setning1;

getline(cin, setning1, '\n');

 

Man kan finne/søke etter enkelt-tegn i tekststrengen slik:

string s1 = "dette er en test!";

//pos blir her 2, 0 indikerer start

int pos = s1.find('t', 0);

cout << pos << endl;

 

På samme måte kan vi søke etter en del-streng:

string s1 = "dette er en test!";

int pos;

//pos blir her 6, 0 indikerer start

pos = s1.find("er", 0);

cout << pos << endl;

Endret av ToMmM
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...