GCC Nesto mi nije jasno!
Dobrodošli, Gost. Molim vas prijavite se ili se registrujte.

Prijavite se sa korisničkim imenom, lozinkom i dužinom sesije

Linuxo Forumi

Stranice: [1]   Idi dole
  Štampaj  
Autor Tema: GCC Nesto mi nije jasno!  (Pročitano 1432 puta)
0 članova i 1 posetilac pregledaju ovu temu.
skynet
Newbie
*
Van mreže Van mreže

Pol: Muškarac
Poruke: 23



« poslato: 23 Април 2005, 15:05:25 »

Pozdrav svima!

Pocetnik sam u programiranju u c++. Imam Fedora Core 3. Kada hocu da kompajliram jedan jednostavan primer iz knjige, javljaju mi se poruke o greskama.
Evo kako izgleda primer iz knjige:
------------------------------------------------
#include<iostream>

int main(){
  cout << "Hello World\n";
  return 0;
}
------------------------------------------------

Kada pokusam da ga kompjaliram komandom:  gcc helloworld.cpp -o hello
Dobijam sledece poruke o greskama:
helloworld.cpp: In function `int main()':
helloworld.cpp:4: error: `cout' undeclared (first use this function)
helloworld.cpp:4: error: (Each undeclared identifier is reported only once for each function it appears in.)

Gde gresim?
Prijavi uredniku   Sačuvana
popeye
Administrator
Hero Member
*****
Van mreže Van mreže

Pol: Muškarac
Poruke: 1347



WWW
« Odgovor #1 poslato: 23 Април 2005, 21:15:26 »

Cout se nalazi u std imenskom prostoru (namespace). Ili je koristi sa navodjenjem imenskog prostora (std::cout umesto cout) ili direktivom za upotrebu naznači prevodiocu koji imenski prostor koristiš (dodaj using namespace std; ispod include).
Prijavi uredniku   Sačuvana
skynet
Newbie
*
Van mreže Van mreže

Pol: Muškarac
Poruke: 23



« Odgovor #2 poslato: 24 Април 2005, 01:40:47 »

Zahvaljujem na brzom odgovoru. Problem je uspesno resen  Cheesy
Prijavi uredniku   Sačuvana
jboban
Hero Member
*****
Van mreže Van mreže

Pol: Muškarac
Poruke: 850



« Odgovor #3 poslato: 25 Мај 2005, 02:09:25 »

Citat: popeye
Ili je koristi sa navodjenjem imenskog prostora (std::cout umesto cout) ili direktivom za upotrebu naznači prevodiocu koji imenski prostor koristiš (dodaj using namespace std; ispod include).

Dobra praksa uz nešto više pisanja je prvo način...
Prijavi uredniku   Sačuvana
ak-87
Sr. Member
****
Van mreže Van mreže

Pol: Muškarac
Poruke: 482



« Odgovor #4 poslato: 04 Јун 2005, 21:29:00 »

g++
Prijavi uredniku   Sačuvana
Lex
Newbie
*
Van mreže Van mreže

Poruke: 11


« Odgovor #5 poslato: 29 Октобар 2005, 11:01:55 »

Imam slican problem,ucim c++ sa knjigom c++ za 21 dan za linux
Predjem nekoliko primera,i dodjem do primera gde trebam da ukucam sledece(kako pise u knjizi tako sam i ja napisao bez greske)

# include <iostream.h>

// Funkcija Demonstration Function
//prikazuje korisnu poruku
Poruku prikazuje funkcija Demonstration Function\n
{
  cout <<" In Demonstration Function\n";
}
// funkcija main - prikazuje poruku,a zatim
// poziva funkciju DemonstrationFunkcion pa prikazuje
// drugu poruku
int main()
{
  cout <<" Poruku prikazuje funkcija main\n" ;
  DemonstrationFunction();
  cout<<" Ponovo prikazuje funkcija main\";
return 0;
}

Iz ovoga bi trbalo izaci text:
Poruku prikazuje funkcija main
Poruku prikazuje funkcija Domonstration Function
Poruku ponovo prikazuje funkcija main

Ali kada treba da kompajliram prijavljuje gresku,
a primer koji dolazi na cd uz knjigu(na engleskom) on radi,ali se ova dva primera nisu u potpunosti ista(drugi primer sadrzi void)

Evo i tog primera

     #include <iostream.h>

     // function Demonstration Function
     // prints out a useful message
     void DemonstrationFunction()
     {
         cout << "In Demonstration Function\n";
     }

    // function main - prints out a message, then
    // calls DemonstrationFunction, then prints out
    // a second message.
    int main()
    {
        cout << "In main\n" ;
        DemonstrationFunction();
        cout << "Back in main\n";
        return 0;
    }

Da li u knjizi ima neke greske, ili je greska moje koju ne mogu da primetim.U cemu je problem
 8O
Prijavi uredniku   Sačuvana
bicca
Newbie
*
Van mreže Van mreže

Poruke: 33


« Odgovor #6 poslato: 30 Октобар 2005, 18:10:06 »

jasta da ima gresaka

Kod:

# include <iostream.h>

// Funkcija Demonstration Function
//prikazuje korisnu poruku
Poruku prikazuje funkcija Demonstration Function\n
{
cout <<" In Demonstration Function\n";
}
// funkcija main - prikazuje poruku,a zatim
// poziva funkciju DemonstrationFunkcion pa prikazuje
// drugu poruku
int main()
{
cout <<" Poruku prikazuje funkcija main\n" ;
DemonstrationFunction();
cout<<" Ponovo prikazuje funkcija main\";
return 0;
}


uopste nemash fju DemonstrationFunction, tj nemash njeno zaglavlje vec neki glupi text Smiley
Poruku prikazuje funkcija Demonstration Function\n

a greska je i u par redova pre kraja:
cout<<" Ponovo prikazuje funkcija main\";

ovde je verovatno trebalo na kraju \n a ne \"...... ovo prvo koristis za prelazak u novi red, a drugo za ispis navodnika

za kraj, dobro bi bilo da dash uvek gresku koju ti daje kompajler, a i koriscenje bbcode-a na forumu je jako lepa stvar   :lol:
Prijavi uredniku   Sačuvana
burga
Hero Member
*****
Van mreže Van mreže

Pol: Muškarac
Poruke: 700


Meet Linus


WWW
« Odgovor #7 poslato: 30 Октобар 2005, 21:45:08 »

Prvi red, koji je i uzrok greske, si OK prepisao iz knjige, nwe znam da li je greska kod autora ili prevodilaca (posto su programi prevodjeni), zato uvek koristi kod sa CD-a, trebalo bi da je on OK, osim onih fragmenata koda koji i nisu namenjeni kompajliranju.
"n" iza drugog bekslesa si sam ispustio.

Moj savet: pre nego sto otkucas program razmisli kako bi ga sam napisao, ako ti ne radi prouci odgovor g++a, ima dosta kvalitetne komentare, a onda prouci i "analizu" datu u knjizi.

I na kraju, sve dobre izdavacke kuce (mislim ovde na sams, ne na KB) imaju errata na svom sajtu.
Prijavi uredniku   Sačuvana

Нема Бога, и Дирак је његов пророк
http://www.burgic.com[img=http://www.boincstats.com/signature/user_1428421.gif]
Lex
Newbie
*
Van mreže Van mreže

Poruke: 11


« Odgovor #8 poslato: 31 Октобар 2005, 12:43:34 »

Da iz knjige sam lepo prepisao,znam da bi trebalo da bude \n";
ali ja sam tek pocetnik,pa nisam bas 100% u ono sta radim,uvek prepisujem primere iz knjige,i tako je i pisalo,nije to jedina greska u knjizi nasao sam bio jos jednu,koju sam mogao da utvrdim (nisu ispisali comandu cout)

mene buni ovaj drugi primer sa cd koji sam isto izlozio,posto u knjizi pise da ne bi trebalo da sticem naviku sa komandom void a na primeru na cd-u je napisana komanda void i program radi.

Kako da ispravim gresku u tom primeru i dali trebam da koristim komandu void
Prijavi uredniku   Sačuvana
Stranice: [1]   Idi gore
  Štampaj  
 
Prebaci se na: