hallo, ich bin grad dabei, mir ein wenig C++ anzugucken und kann den hello world auf mdk9.2 nicht übersetzen. auf mdk9.1 hat das glaub ich geklappt.
der quelltext lautet:
#include iostream> !!die erste klammer wird hier nicht dargestellt!!
void main()
{
cout }
und die fehlermeldung:
[ingo@nadja Documents]$ gcc hello.cc
hello.cc:4: error: `main\' must return `int\'
hello.cc: In function `int main(...)\':
hello.cc:5: error: `cout\' undeclared (first use this function)
hello.cc:5: error: (Each undeclared identifier is reported only once for each function it appears in.)
hello.cc:5:17: warning: character constant too long for its type
[ingo@nadja Documents]$
kann mir da jemand weiter helfen?
squire
Programmieren - alles kontrollieren 4.940 Themen, 20.676 Beiträge
Hallo!
1. Was mein Vorredner schon gesagt hat: Gemäß ISO-C++ ist main() immer eine Funktion mit Integer-Rückgabewert. Aber selbst wenn nicht: Auch void sollte einen return haben. In dem Fall schreibt man einfach return;
2. Du solltest dich informieren, was ein Namespace ist.
Alle Defininitionen der Standart-Bibliothek (also de facto alles, was du in nächster Zeit brauchen wirst, alle Definitionen aus <iostream> <vector> usw.) liegen in einem Namensbereich, der std heißt. Auf Namensbereiche greift man mit dem :: Operator zu. In dem Fall hieße dein Programm:
#include <iostream>
int main()
{
std::cout<<"Frohes Fest!";
return 0;
}
Ist dir das zu lästig, kannst du auch das Folgende machen:
#include <iostream>
using namespace std;
int main()
{
cout<<"Guten Rutsch!";
return 0;
}
Damit fügt macht man alle Elemente des Namespaces std im lokalen Namespace verfügbar.
HTH,
Kevin
--
http://www.boergens.de