Gå til innhold

Anbefalte innlegg

Skrevet (endret)

Har nettopp kjøpt meg en bok for å lære meg C++ som først og fremst bruker Visual C++ 6 i guiden deres men det skal ikke være vanskelig å følge med ved bruk av andre programmer. Jeg bruker Dev-C++ 5.

 

En oppgave gikk ut på å lese denne koden og gjette hva den gjorde:

 

#include <iostream>

int main()

{

int x = 5;

int y = 7;

std::cout << endl;

std::cout << x + y << " " << x * y;

std::cout << end;

return 0;

}

 

Fikk det ikke til, så jeg "builda" den for å se hva den gjorde, problemet er at den ikke funker, jeg har skrevet den rett av boka uten feil.

 

Feilmelding:

 

C:\..\Untitled3.cpp In function `int main()':

6 C:\..\Untitled3.cpp `endl' undeclared (first use this function)

(Each undeclared identifier is reported only once for each function it appears in.)

8 C:\..\Untitled3.cpp `end' undeclared (first use this function)

C:\..\Makefile.win [build Error] [untitled3.o] Error 1

 

Trenger hjelp :(

 

EDIT: Er selvfølgelig innrykk med som ikke fulgte med copy-pasten.

Endret av nan0tim
Videoannonse
Annonse
Skrevet (endret)

#include <iostream>
int main()
{
int x = 5;
int y = 7;
std::cout << std::endl;
std::cout << x + y << " " << x * y;
std::cout << std::endl;

//Stopper programmet slik at du kan se hva som skjer
std::cin.get();

return 0;
}

 

sånn.

 

du glemte og skrive std::endl, og du hadde også skreve end, ikke endl.

Endret av Kjeksen
Skrevet (endret)

endl ligger i iostream i namespace std. Dette må du spesifisere:

std::cout << std::endl;

(regner med at det også var endl du mente istedenfor end)

 

Edit: Kjeksen kom meg vist i forkjøpet :)

Endret av zirener
Skrevet (endret)

Hmm det var noe nytt. Jeg har skrevet koden rett av boka, så det burde fungere. Kanskje fordi dette ikke er Visual C++ 6? Dette likte jeg ikke..

 

EDIT: Står faktisk end i boka andre gangen, og ikke noe std:: foran dem..

Endret av nan0tim
Skrevet (endret)

Fordi det da vil bli gjeldende for alle filer headerfilen inkluderes i, og det gjør at identifikatorene i navnerommet std (eller det navnerommet det er snakk om) blir utilgjengelige til annet bruk.

Endret av Myubi
Skrevet

Koden er rett..

 

Prøv å starte eit nytt prosjekt i dev-cpp "console app" (elns). Og så limer du inn koden din i det nye prosjektet. (evnt. prøv å compile standard prosjektet først)

 

Dev-C++ har til tider ein liten tendens til å lage meiningslause feil.

Skrevet (endret)
Koden er rett..

 

Prøv å starte eit nytt prosjekt i dev-cpp "console app" (elns). Og så limer du inn koden din i det nye prosjektet. (evnt. prøv å compile standard prosjektet først)

 

Dev-C++ har til tider ein liten tendens til å lage meiningslause feil.

Så det at det brukes "endl" i linje 6 og "end" i linje 8 skal ikke gi problemer?

Eller at man ikke har satt opp hvilket namespace disse eksisterer i?

 

Og hva hvis man prøver det i noe annet enn Dev-C++?

Kopierte det inn i emacs og kompilerte med følgende commando:

g++ -Wall -O3 -o test.app test.cpp -lm

og fikk da følgende feil:

test.cpp: In function `int main()':
test.cpp:6: error: `endl' undeclared (first use this function)
test.cpp:6: error: (Each undeclared identifier is reported only once for each
  function it appears in.)
test.cpp:8: error: `end' undeclared (first use this function)

 

Men det fungerer helt fint med enten "std::endl"...

 

[edit]

typo

[/edit]

Endret av Mr.Garibaldi
Skrevet

heh. oj. Oversåg det :blush:

 

Vandt til å bruke using namespace std; eller using std::cout og using std::endl.

 

Den koden eg pekte til var sjølvsagt den koden dere hadde kommet fram til :innocent:

;)

  • 4 uker senere...
Skrevet
Har "Sams Teach Yourself C++ in 21 Days"..

Har den samme boka!

 

Veldig bra bok fordi alt blir tatt steg for steg, også er det oppsummering og spørsmål i enden av hvert kapittel til deg for å se om kan det.

 

Hadde kanskje vært på tide med en ny utgave, siden den nyeste til dags dato er 2003 versjon! ;)

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...