Gå til innhold

Build error i helt enkelt c++ program


Anbefalte innlegg

Skrevet (endret)

Jeg begynner med c++ på skolen i morgen og prøver å komme litt i gang på egenhånd, jeg følger en tutorial men står fast ca 10 minutter ut i den.

 

 

Programmet skal åpne et cmd vindu og vise tallene 45 og 2 på hver sin linje som vist i youtube-filmen.
Men jeg får en error når jeg builder og programmet virker ikke, jeg mener å ha kopiert teksten helt presist og skjønner ikke hvorfor ikke virker.
Noen som er flinke på dette og ser hva som er galt?

#include <iostream>
using namespace std;
int main()
{
	int age = 18; //Whole Number
	//float temp = 97.4; //Decimal number
	char gender = 'm'; //Single letter
	//bool found = false; //True or false
	//const float PI = 3.14;//More precise decimal

	//age = age + 1;
	//age += 1;
	//age++; //for adding 1
	age = 9 * 5;
	cout >> age >> endl;
	age = 9 / 4;
	cout >> age >> endl;
}

Når jeg ser over det igjen, så er #include i første linje med grå skrift, ikke blå.
Kan det være feilen? Skal #include stå med blå skrift?

Endret av Pycnopodia
Videoannonse
Annonse
Skrevet (endret)

Tror du ikke vi kunne hjelpe deg bedre hvis du sier hva feilmeldingen sier? (Hvis du leser den skikkelig skjønner du kanskje selv hva som er i veien.)

 

Husk at feilmeldinger er der for å hjelpe deg.

Endret av Emancipate
Skrevet (endret)

Vil også nevne at // betyr kommentar på resten av linjen.
Altså alt som nevnes etter dette (på linjen etter //) blir ikke tolket som kode.

Endret av Digimon
Skrevet (endret)

Tips: la kompilatoren verifisere mer for deg.

 

I stedet for å la gender være en char (står det i boken din så kaster du boken), la det være en enum. Dette antar C++11 (om gcc eller clang: -std=c++11). Om du ikke har det så fjerner du class.

enum class gender { male, female };
Så vil du ikke kunne bruke et "ugyldig" kjønn som 'a' eller 'b'. Endret av Lycantrophe
  • Liker 1
  • 2 uker senere...
Skrevet

DU må også legge til en

return 0;

for at det skal fungere.

 

Dette er sant for alle andre funksjoner enn main() C++ og C99 spesifiserer at main() kan skrives uten return, men fortsatt være gyldig iht spesifikasjon. :)

Skrevet

 

DU må også legge til en

return 0;

for at det skal fungere.

 

Dette er sant for alle andre funksjoner enn main() C++ og C99 spesifiserer at main() kan skrives uten return, men fortsatt være gyldig iht spesifikasjon. :)

 

Takk for korrektsjonen, en stund siden jeg programerte i C++ ;)

Skrevet

Jeg synes likevel det er dårlig stil å ikke bruke return.

Vet det står noe i den ye standared(11) om hvordan man skal definere main, men bruker selv return på alle funksjoner som ikke er void

  • 1 måned senere...
Skrevet

Hei, om du ikke har funnet en løsning på problemet, tror jeg kanskje jeg ser det.

 

Her er en kode som viser 45 og 2 på to forskjellige linjer:

#include <iostream>
using namespace std;

int age, age1;

int main()
{
    int age = 9*5;
    cout << age << endl;
    int age1 = 9/4;
    cout << age1 << endl;
    return 0;
}

Hvis du ser her, så har jeg to "int". En "age" og en "age1". Du har bare en int, "age". Dermed vil det føre til en error når du gir den samme inten forskjellige verdier. Du har også "int age = 18" helt øverst, dette er altså en tredje verdi som "age" har. Det er mest sannsynlig det som er problemet ditt.

Skrevet

Hei, om du ikke har funnet en løsning på problemet, tror jeg kanskje jeg ser det.

 

Her er en kode som viser 45 og 2 på to forskjellige linjer:

#include <iostream>
using namespace std;

int age, age1;

int main()
{
    int age = 9*5;
    cout << age << endl;
    int age1 = 9/4;
    cout << age1 << endl;
    return 0;
}

Hvis du ser her, så har jeg to "int". En "age" og en "age1". Du har bare en int, "age". Dermed vil det føre til en error når du gir den samme inten forskjellige verdier. Du har også "int age = 18" helt øverst, dette er altså en tredje verdi som "age" har. Det er mest sannsynlig det som er problemet ditt.

 

Du er ute og sykler. Han har faatt svar, og det var feil paa << . Selvfølgelig kan du gi en variabel flere verdier! Du kan gi "age" ny verdi saa mange ganger du vil, uten at det er noe som helst problem.

Skrevet

Du kan gi "age" ny verdi saa mange ganger du vil, uten at det er noe som helst problem.

 

Det er altså ikke tilfeldig at vi kaller de variable :w00t:

Skrevet

 

Hei, om du ikke har funnet en løsning på problemet, tror jeg kanskje jeg ser det.

 

Her er en kode som viser 45 og 2 på to forskjellige linjer:

#include <iostream>
using namespace std;

int age, age1;

int main()
{
    int age = 9*5;
    cout << age << endl;
    int age1 = 9/4;
    cout << age1 << endl;
    return 0;
}

Hvis du ser her, så har jeg to "int". En "age" og en "age1". Du har bare en int, "age". Dermed vil det føre til en error når du gir den samme inten forskjellige verdier. Du har også "int age = 18" helt øverst, dette er altså en tredje verdi som "age" har. Det er mest sannsynlig det som er problemet ditt.

 

Du er ute og sykler. Han har faatt svar, og det var feil paa << . Selvfølgelig kan du gi en variabel flere verdier! Du kan gi "age" ny verdi saa mange ganger du vil, uten at det er noe som helst problem.

 

Åja, beklager.. Når jeg prøvde å gi age først 18, så 9*5 og så 9/4, fikk jeg en error som sa at "age" var allerede definert.. En feil fra min side, beklager det :)

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