• 15 odgovora
  • 5.215 pregleda
missing ';' before 'namespace' u VS2005 27.11.2007. u 13:46 · pre 230 meseci #1
Uvek kada include-ujem iostream u VS2005, dobijem grešku "error C2143: syntax error : missing ';' before 'namespace'". Počeo sam da sumnjam u sebe pa sam napisao sledeći test kod:

Code:

#include <iostream>
void main() {
    cout<<"Hello";
}


I opet dobijam: C:\Program Files\Microsoft Visual Studio 8\VC\include\iostream(12) : error C2143: syntax error : missing ';' before 'namespace'

Kada duplo kliknem na grešku šalje me u iostream file na liniju u kojoj je sam _STD_BEGIN, što bi trebalo da kompajler zameni sa "namepsace std;". Da li neko zna u čemu je problem?
Re: missing ';' before 'namespace' u VS2005 27.11.2007. u 15:25 · pre 230 meseci #2
Namespace ti je, kao sto i sama rec kaze, prostor imena. Koristi se da ne bi dolazilo do preklapanja globalnih promenljivih i imena klasa...

U iostream fajlu cout ( koji ti koristis i koji dovodi do greske, a videces posle zasto ) je globalna promenljiva definisana u prostoru imena zvanom std.

Code:


namespace std
{
     // ovde je definisan cout
     // ... ostale funkcije
}



Da bi ti pravilno radio program imas dva nacina:

Code:


1. nacin

#include <iostream>
using namespace std;  // ovako 'upadamo' u prostor imena

void main()
{

   cout << "Neshto";
}

2. nacin

#include <iostream>

void main()
{
     std::cout << "Opet neshto";   // explicitno pozivamo cout iz std prostora imena
}


Potpis
EOF
Re: missing ';' before 'namespace' u VS2005 28.11.2007. u 15:38 · pre 230 meseci #3
Da, to sam zaboravio u ovom test primeru ali nije u tome problem. Imam "using namespace" u svim ostalim projektima. Dodao sam i u ovom, ovako:

Code:
#include <iostream>
using namepsace std;
void main() {
    cout<<"Hello";
}


i dalje imam istu grešku.

Probao sam i bez "using namespace" sa "std::cout" ali i dalje ne radi.

Sad sam nešto testirao i čini mi se da je greška u biblioteci istream. iostream ima "#include <istream>" pre "namespace std;". Probao sam čisto testa radi da uključim istream umesto iostream i dobijam grešku "error C2143: syntax error : missing ';' before 'using'", a "using namespace" je sledeće posle "#include <istream>". Ili ja radim nešto mnogo glupo ili je Microsoft uradio nešto još gluplje.
Re: missing ';' before 'namespace' u VS2005 29.11.2007. u 18:25 · pre 230 meseci #6
Onda je definitivno do kompajlera. Ustvari, da li si pokušavao da napraviš kao prazan projekat ili si koristio nešto u smislu w32 ili ctl console application?
Potpis
I ♥ ♀

Ovaj post je zlata vrijedan!
Re: missing ';' before 'namespace' u VS2005 30.11.2007. u 11:26 · pre 230 meseci #8
Ja sam imao istih problema.
evo ovako trebas da uradis i mora da radi ako je sve ok.
File/New/Project/Win32 Console Application/next/Destikliraj precompiled header i stikliraj Empty project/Finish
/project/Add new item/C++ file(.cpp)
i onda
kod


Code:
#include<iostream>
using namespace std;
void main()
{
    cout<<"\nZdravo svete";
    system("PAUSE");
}

    

Ovo sam sad probao kod mene i radi..
Potpis
Crazy shadow
Re: missing ';' before 'namespace' u VS2005 01.12.2007. u 00:53 · pre 230 meseci #9
Ne radi. Da ne poveruješ. Moraću ponovo da instaliram win, samo da mi se skine novi SUSE. Baš sam mislio da je neki poznatiji bug koji je neko već rešio ali izgleda da se ovakve stvari dešavaju samo kod mene :(
Re: missing ';' before 'namespace' u VS2005 01.12.2007. u 00:57 · pre 230 meseci #10
Da li može neko ko ima instaliran VS2005 da mi pošalje header istream? Znači "istream", ne "iostream". Hteo bih da uporedim sa mojim i možda nađem gde je greška i kako sam uspeo sa greškom da instaliram. Šaljite na "milos dot rasic at gmail dot com" ako forum ne podržava attachmente. Unapred hvala.
Re: missing ';' before 'namespace' u VS2005 06.12.2007. u 22:36 · pre 229 meseci #11
Citat:
Nameless One: Da, to sam zaboravio u ovom test primeru ali nije u tome problem. Imam "using namespace" u svim ostalim projektima. Dodao sam i u ovom, ovako:

Code:
#include <iostream>
using namepsace std;//treba namespace a ne namepsace
void main() {
cout<<"Hello";
}




Pogrešno si napisao rec namespace ... Kad pokrenem onako program dobijam istu grešku kao i ti , a sa "namespace" sve radi ...

I koliko ja znam main u c++ bi trebao pre da bude int nego void ...

Pozdrav
Re: missing ';' before 'namespace' u VS2005 06.12.2007. u 23:15 · pre 229 meseci #12
Okači negde taj fajl koji ti pravi problem. Ne verujem da je problem do hedera. Ako je to problem reinstaliraj VS. Probaj rebuild. Probaj ovaj kod.

Code:
 
#include <iostream>
using namespace std;

int main()
{
    cout << "Hello world!" << endl;

    return 0;
}


Da li koristiš još neke fajlove u tom projektu? Neki header - stdafx.h ili imaš neki #include pre #include <iostream>?
Ako ništa ne radi okači negde zipovan projekat pa čemo da vidimo.
Re: missing ';' before 'namespace' u VS2005 25.01.2008. u 23:01 · pre 228 meseci #14
Baš mi je drago što si se tako lepo nasmejao, Marko.

btw, ako nekog zanima, reinstalirao sam Windows i VS i sada sve ok radi. Očigledno je problem bio u korumpiranoj instalaciji.
Re: missing ';' before 'namespace' u VS2005 13.03.2008. u 14:19 · pre 226 meseci #16
Meni se isti problem dešavao kada pri definisanju klase na kraju klase posle vitičaste zagrade ne stavim ;
Potpis
don't drink and drive take a joint and fly!
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme