Gå til innhold

Build error i helt enkelt c++ program


Anbefalte innlegg

Videoannonse
Annonse

 

 

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 :)

 

Grunnen til at du fikk at age allerede var deklarert er nok at du slang på int age ukritisk. En variabel kan bare deklareres én gang i en spesifikk blokk (der en blokk starter med { og slutter med }.)

 

Det vil si at dette funker:

int age = 0;

{
    int age = 1;
}
mens dette ikke funker:

{
    int age = 0;
    int age = 1;
}
Når en variabel først er deklarert i en blokk så kan den brukes og settes på nytt i samme blokk eller under-blokker:

{
    int age = 18;
    cout << age << endl; // Skriver ut 18
    /* 
     * ...
     */
    age = 2;
    cout << age << endl; // Skriver ut 2
    age = 3;
    cout << age << endl; // Skriver ut 3

    {
        age = 4;
        cout << age << endl; // Skriver ut 4

        int age = 5;
        cout << age << endl; // Skriver ut 5
    }

    cout << age << endl; // Skriver ut 4
}
EDIT: Deklareres, ikke defineres. Gikk litt fort i svingene gitt. Takk Lycantrophe Endret av hjahre
  • Liker 1
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...