Tänkte faktiskt börja med C++ häromdagen. Så jag installerade Visual Studio.net. När du startar Visual Studio.net välj då New -> New Project och sen "Empty Project (.NET)" så blir det lite lättare.. inte så mycke filer som man inte har koll på vad de är. Sen till höger har du "Solution Explorer", högerklicka på Source Files .. Add -> New Item och välj "C++ File (.cpp)" Denna tråden är hyffsat gammal men eftersom jag har VÄLDIG brist på sysselsättning så tänkte jag fråga en sak. 1) cin.get(); ytterligare en anledning till return 0 är ju att du faktiskt har deklarerat din main() funktion som en funktion som ska returenera ett integer värde. Nej, nej, nej...Lite nybörjarfrågor.
När jag körde en simpel hello world, så fick jag en massa fel. :D
<code>
#include <iostream.h>
int main()
{
cout <<"Hello World!\n";
return 0;
}</code>
Ok, först: hello_world.cpp fatal error C1083: Cannot open include file: 'iostream.h': No such file or directory
Jag kollade i mina include-mappar och hittade en fil som hette io.h. Tänkte att denna kanske innehåller samma, så jag bytte.
Då fick jag detta felet: hello_world.cpp(5): error C2065: 'cout' : undeclared identifier
?! :D
Var kan jag hitta cout?
Jag har inte jobbat med varken C++ eller Visual Studio.net så jag har ingen aning om vad jag ska göra :)Sv: Lite nybörjarfrågor.
sen är det bara att skriva koden:
Du bör inte heller använda iostream.h eftersom detta är den gamla versionen av iostream. den nya heter iostream dvs utan .h och då måste du även ta med raden using namespace std; för att den ska hitta cin och cout m.m.
Såhär bör koden se ut:
<code>
#include <iostream>
using namespace std;
int main()
{
cout << "Hello World";
cin.get();
return 0;
}
</code>Sv: Lite nybörjarfrågor.
En del av den koden du skrev, är onödig att ha med(?). Det går minst lika bra att skriva:
<code>
#include <iostream>
using namespace std;
int main()
{
cout << "Hello World!";
}
</code>
Så vad uppfyller
<code>
cin.get();
return 0;
</code>
för funktion?
Tidsfördriv. :OSv: Lite nybörjarfrågor.
Stannar programmet så att du har tid att uppfatta vad som stod på skärmen tills att du trycker på enter. Den här behövs inte, jag tror att vs.net debuggern ser till att inte avsluta ditt program för tidigt åt dig. Problemet uppstår dock när du kör programmet som det är bara
2) return 0;
Retunerar 0 till operativsystemet (alla program kan ha ett valfritt nummer mellan 0 och 255 att skicka tillbaka till operativsystemet. I batch-filer så hittar man den saken i %ERRORLEVEL% saken t.ex.) Den här saken ska inte behövas i en bra kompilator om jag inte tar helt felSv: Lite nybörjarfrågor.
int main()
Därför hör det till god hyfs att verkligen skicka tillbaka något (integer värde), inte det här fallt 0, eftersom det inofficiellt symboliserar att allt gått bra, "no errors".
hade man deklarerat den som "void main()" hade man skrivit "return void" istället.
Gör man inte så, kan det bli ett kryphål för lite mindre trevliga personer som kan använda din funktion på sätt som inte var meningen, typ...Sv: Lite nybörjarfrågor.
Main-funktionen ska aldrig vara nåt annat än int.
www.research.att.com/~bs/bs_faq2.html#void-main
Och man behöver inte ange return 0; eftersom kompilatorn förutsätter det om man utelämnar det.
Och return void?? Vad i hela h*****e är det? Void betyder "ingenting, tomrum". En void-funktion returnerar ingenting, punkt, slut...