infoarena

infoarena - concursuri, probleme, evaluator, articole => Grigore Moisil => Subiect creat de: Gherghina Alexandru din Martie 31, 2006, 06:39:29



Titlul: eroare la compilare la GM
Scris de: Gherghina Alexandru din Martie 31, 2006, 06:39:29
Poate cineva sa imi explice ce inseamna urmatoarele? Testerul a zis ca este eroare la compilare.
Cod:
In file included from /usr/include/c++/3.3/backward/fstream.h:31,
                 from jtemp.cpp:1:
/usr/include/c++/3.3/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <sstream> instead of the deprecated header <strstream.h>. To disable this warning use -Wno-deprecated.
jtemp.cpp:6: error: `main\' must return `int\'
jtemp.cpp:6: error: return type for `main\' changed to `int\'
jtemp.cpp: In function `int main(...)\':
jtemp.cpp:13: error: `endl\' undeclared (first use this function)
jtemp.cpp:13: error: (Each undeclared identifier is reported only once for each
   function it appears in.)
jtemp.cpp:18:2: warning: no newline at end of file


Va multumesc anticipat!


Titlul: eroare la compilare la GM
Scris de: Cosmin Negruseri din Martie 31, 2006, 09:47:24
Probabil ai folosit void main() {} si trebuia int main() { return 0;}.
Puneti un gcc pe calc si vezi si tu.


Titlul: eroare la compilare la GM
Scris de: Valentin Stanciu din Martie 31, 2006, 10:50:04
totodata, nu mai folosi endl, foloseste '\n' pentru linie noua (cu tot cu ' )


Titlul: eroare la compilare la GM
Scris de: u-92 din Martie 31, 2006, 11:31:48
mai exact, eroarea cu "endl" ai primit`o din cauza ca nu ai inclus si "#include <iostream.h>".. daca incluzi doar fstream.h poti folosi, cum s-a zis mai sus, doar "\n"


Titlul: Raspuns: eroare la compilare la GM
Scris de: Radu Grigore din Aprilie 02, 2006, 18:33:49
Daca lucrezi in c++ atunci include <iostream>, <fstream>, ... in loc de <iostream.h>, <fstream.h>, .... Cele din urma nu sunt standard. Nu uita de "using namespace std;". Nu stiu de ce svalentin recomanda '\n' in loc de endl.. Conform standardului functia main _trebuie_ sa fie "int main() {...}" dar nu trebuie sa aiba return la sfarsit. (este o exceptie fata de functiile normale)


Titlul: Raspuns: eroare la compilare la GM
Scris de: Valentin Stanciu din Aprilie 02, 2006, 19:17:54
am zis de '\n' ca in general ai mai putine probleme.. adica parca am mai auzit si alte persoane care includeau varianta .h si nu le mergea endl, dar '\n' le mergea.. ma gandeam ca cu '\n' nu ai probleme in general.. dar oricum, e bine sa iti compilezi sursa cu acelasi compilator ca si comisia sa eviti orice eroare.. :)