Gå til innhold

Anbefalte innlegg

Er godt på vei med å lage et tekstbasert spill her, men har noen problemer med å kompilere koden:) noen som gidder å se over den? send meg en priv. melding så skal jeg sende dere koden!

 

Error beskjedene er:

 

Kode: using namespace std;

Error: Type name expected

 

Kode: String name;

Error Type name expected

 

Er en til men den må du ha hele koden for å "forstå", det må du sikkert med disse to oxo men;)

Lenke til kommentar
Videoannonse
Annonse

Ikke noe galt med å skrive

using namespace std;

 

Lite eksempel som kompilerer fint hos meg:


#include <string>

#include <iostream>

using namespace std;

string streng;



int main(int argc, char* argv[])

{

cout << "Skriv noe" << endl;

cin >> streng;

cout << streng << endl;

return 0;

}

 

Kan hende du har en feil et annet sted i koden. Hadde vært greit og fått sett noe mer av koden. Egentlig er følgende kode mer å foretrekke fremfor den over:

#include <string>

#include <iostream>

//using namespace std;

std::string streng;



int main(int argc, char* argv[])

{

std::cout << "Skriv noe" << std::endl;

std::cin >> streng;

std::cout << streng << std::endl;

return 0;

}

Lenke til kommentar

jeg har fått fiksa det nå, ny kompilator:) men jeg har et annet spørsmål, for å lagre navn går det da bra å bruke dette eksemplet?

 

--------------------------------------------------------------------------------------

cout<<"Skriv inn navn"<<endl;

cin>>name;

 

cout<<"Heihei "<<name<<", hvordan har du det?"<<endl;

 

intgame()

--------------------------------------------------------------------------------------

 

skal dette gå?[/code]

Lenke til kommentar
  • 1 måned senere...
jeg har fått fiksa det nå, ny kompilator:) men jeg har et annet spørsmål, for å lagre navn går det da bra å bruke dette eksemplet?

 

--------------------------------------------------------------------------------------

cout<<"Skriv inn navn"<<endl;

cin>>name;

 

cout<<"Heihei "<<name<<", hvordan har du det?"<<endl;

 

intgame()

--------------------------------------------------------------------------------------

 

skal dette gå?[/code]

 

Tror det er en komando som heter getline et eller annet.

Lenke til kommentar

du kan også gjør slik:

Code:

 

#include <iostream>

 

int main()

{

char navn[20];

 

cout << "Skriv inn ditt navn:" << endl;

cin >> navn;

cout << "Ditt navn er: " << navn << endl;

 

return 0;

}  

 

Uff, ikke bruk cin >> navn. Det åpner for en buffer-overflow: navn har ikke mer en 20 tegn til disp. Derfor:


#include <iostream>



int main()

{

char navn[20];



cout << "Skriv inn ditt navn:" << endl;

cin.getline(navn, 20);

cout << "Ditt navn er: " << navn << endl;



return 0;

} 

Da tar den med 20 tegn og ikke mer. cin >> navn blir som å bruke gets(navn). Lær det liksågodt først som sist :)

Lenke til kommentar

Uff, ikke bruk cin >> navn. Det åpner for en buffer-overflow: navn har ikke mer en 20 tegn til disp. Derfor:  

Kode:  

 

#include <iostream>  

 

int main()  

{  

char navn[20];  

 

cout << "Skriv inn ditt navn:" << endl;  

cin.getline(navn, 20);  

cout << "Ditt navn er: " << navn << endl;  

 

return 0;  

}  

 

 

Da tar den med 20 tegn og ikke mer. cin >> navn blir som å bruke gets(navn). Lær det liksågodt først som sist  :)  

 

takk, skal prøve å huske på det ;) Er ganske nybegynner i c++ så jeg har ikke så stor peiling i det. :smile:

Lenke til kommentar
Purified, som sagt, bruk std::string, så burde du slippe det problemet der. Char-arrays er mer C-måten å gjøre ting på, enn C++.

 

virker string med cin, eller må du bruke getline?

 

String er jo et objekt, (?) så >> operatøren må vel være manipulert slik at den tar imot string, og cin må kunne takle det ?

 

cin er vel oprinnelig fra C? men det er da også et objekt?

 

Går helt i surr jeg :o

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...