ďťż

Ładny brzuch

Witam wszystkich.
Może od razu przedstawie problem: mam program Dev C++ 4.9.9.0, otórz wpisanie najprostszego programu takiego jak
#include <stdio.h> int main () {    cout << "hfjhf\n";    return 0; }    
Własnie jest problem z kompilacja, podobno to dział gdy jest starszy kompilator(nigdzie go nie mog znaleść), jednak w tym nie...
Natomiast gdy sie napisze
#include <cstdlib> #include <iostream> using namespace std; int main() { std::cout << "Hello World !!!\n"; return 0; }
wtedy dziala, czy ktos moze poweidziec czy jest jakis sposób zeby w tym "starszym" standardzie sie kompilowało w Dec 4.9.9.0??

P.S jeśli nie, to ktos ma jakies info na temat tego "std" i "using namespace std;" i kiedy sie go używa... (mile widziane jakies linki czy cos w tym stylu)

P.S 2) w szukajce niczego nie znalazłem co by pomogło mi rozwiąc mój problem:(



Moja odpowiedź jest prosta
najlepiej porzuć DevC++
a zmień na dużo lepszy program Borland C++ Builder 6. to powinno załatwić problemy, naprawdę polecam zwłaszcza, że jest to bezpłatna wersja do użytku domowego :)

Problem dotyczy tzw. przestrzeni nazw, które są wprowadzone w nowym standardzie C++. Linka żadnego nie podam, bo nie znam. W małych programach pisze sie linijkę:
using namespace std;
i to powoduje mniej więcej takie działanie, jakby była tylko jedna przestrzeń nazw, bez podziałów, czyli prawie po staremu. W helpie do C++Builder są opisane przestrzenie nazw, więc tam możesz coś poczytaj, albo wygoglaj coś z takim hasłem.

#include <stdio.h> int main () {   std::cout << "hfjhf\n";   return 0; }    

#include <cstdlib> #include <iostream> using namespace std; int main() { cout << "Hello World !!!\n"; return 0; }

Jeśli dajesz using namespace std; to przed cin i cout nie dajesz std :P




Moja odpowiedź jest prosta
najlepiej porzuć DevC++

Strasznie coś ludzie mieszacie.

#include <stdio.h> int main () {    cout << "hfjhf\n";    return 0; }     Po pierwsze stdio to biblioteka z C która akurat do wyświetlania tekstu zawiera funkcje printf, a nie metode cout.

#include <cstdlib> #include <iostream> using namespace std; int main() { std::cout << "Hello World !!!\n"; return 0; } W tym wypadku niepotrzenie dodajesz nagłówek cstdlib oraz jak już uogólniasz przestrzeń nazw std (using namespace std) to nie musisz kożystać z std:: przy metodzie cout. Ostatecznie kod wygląda tak:
#include <iostream> int main() { std::cout << "Hello World !!!\n"; return 0; }

PS. tak dla Twojej wiedzy mówiąc metoda mam na myśli funkcje (np cout) wewnątrz klasy zdefiniowanej w nagłówku iostream :)
PS2. raczej używaj przestrzeni nazw w formie np std::. Takie jest moje zdanie :P
Użytkownik reVis edytował ten post 02 luty 2006, 18:00
A ja bym dodał do kodu jedna linijke, która zapobiega automatycznemu jego zamykaniu czyli :

#include <iostream> int main() {       std::cout << "Hello World !!!\n";       system("PAUSE");       return 0; }
Użytkownik Newbie:) edytował ten post 02 luty 2006, 19:21
racja, bez tego ostaniego to programik sam sie zamyka hehe

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •