24. november 2002 - 11:19Der er
13 kommentarer og 1 løsning
linux og c++ ?
jeg er lige begyndt med c++. men jeg har har et problem, alle de begynder bøger der findes om c er beregnet til windows. (jeg ejer ikke en windows maskine :( )... fx dette program:
#include <iostream>
void main(void) { int ind;
cout << "intast din intægt"; cin >> ind;
if (ind<150000)
cout << "du er i skatteklasse a";
else
cout << "du er i skatteklasse b"; }
hvorfor vil det ikke compile ?? . sikkert mig der laver noget galt men hvad. burde c++ i windows og c++ i linux, ikke være det samme ?
Skal virksomheder stå stærkere mod angreb og kunne udvikle sig, skal sikkerhed, drift og forretning tænkes sammen. Det er tanken bag Jysk IT’s ambition om at skabe en “sikker fremtid” for kunderne.
[thomas@localhost thomas]$ gcc fil.cpp -o skat fil.cpp:4: `main' must return `int' fil.cpp: In function `int main(...)': fil.cpp:7: `cout' undeclared (first use this function) fil.cpp:7: (Each undeclared identifier is reported only once for each function it appears in.) fil.cpp:8: `cin' undeclared (first use this function)
Nu skriver du ikke, hvorfor det ikke vil kompile !
Der compiler fint med GCC 2.95.2 hos mig.
Men hvis du har GCC 3.x, så skal du bruge namespace std:
#include <iostream>
using namespace std;
void main(void) { int ind; cout << "intast din intægt: "; cin >> ind; if (ind<150000) cout << "du er i skatteklasse a"; else cout << "du er i skatteklasse b"; }
Og just for the record - uden namespace bør koden se ud som:
#include <iostream>
using namespace std;
void main(void) { int ind; cout << "intast din intægt: "; cin >> ind; if (ind<150000) cout << "du er i skatteklasse a"; else cout << "du er i skatteklasse b"; }
som er det der skal bruge stil gamle C++ compilere.
Som Erik skriver så er main faktisk en int funktion og ikke en void funktion.
using namespace std;
importerer standard name-space !
Måske kan det nemmest forklares ved følgende eksempel.
Her er koden (med int main):
#include <iostream>
using namespace std;
int main(void) { int ind; cout << "intast din intægt: "; cin >> ind; if (ind<150000) cout << "du er i skatteklasse a"; else cout << "du er i skatteklasse b"; return 0; }
den kunne alternativt også skrives som:
#include <iostream>
int main(void) { int ind; std::cout << "intast din intægt: "; std::cin >> ind; if (ind<150000) std::cout << "du er i skatteklasse a"; else std::cout << "du er i skatteklasse b"; return 0; }
Hvis du kender Java, så er using namespace ekvivalent med import i java.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.