Hilfe über ersten cpp hürden

Aracon

Aracon

Routinier
Also ich bin in der zwischnzeit am erweitern und bin bei Function angekommen:

#include <iostream.h>

// Funktion DemonstrationFunktion
// gibt eine Meldung aus
void DemonstrationFunction()

{
cout << "In DemonstationFunction\n" ;
}

// Funtion main - gibt eine meldung aus,
// ruft dann DemonstationFuntkion auf, gibt danach
// eine zweite Meldung aus.

int main()
{
cout << "In main\n" ;
DemonstrationFunction();
cout << "Zurueck in main\n";
return 0;
}

Der g++ wirft aber folgendes aus:

aracon@weapons-of-mass-destruction stunde2 $ g++ -o funktion1-funktion test.cpp
test.cpp: In function `void DemonstrationFunction()':
test.cpp:8: error: `cout' undeclared (first use this function)
test.cpp:8: error: (Each undeclared identifier is reported only once for each
function it appears in.)

Könnt ihr einem Armen cpp noob weiterhelfen? :D
Der Code ist mit dem Lehrbuch identisch (hoffe ich doch mal)
 
hi

Code:
[b]#include <iostream>
using namespace std;[/b]

// Funktion DemonstrationFunktion
// gibt eine Meldung aus
void DemonstrationFunction()

{
[b]//alternativ kannst du namespace .. oben auch weglassen und dann cout folgendermaßen aufrufen => std::cout[/b]
cout << "In DemonstationFunction\n" ;
}

// Funtion main - gibt eine meldung aus,
// ruft dann DemonstationFuntkion auf, gibt danach
// eine zweite Meldung aus.

int main()
{
cout << "In main\n" ;
DemonstrationFunction();
cout << "Zurueck in main\n";
return 0;
}


Gruß HL
 
Ich weiß zwar net warum es läuft, aber es läuft :D

Dankeschön ich darf mich doch nochmal melden wennein problem auftaucht oder werde ich dann erschlagen? :D
 
Aracon schrieb:
Dankeschön ich darf mich doch nochmal melden wennein problem auftaucht

das ist der sinn und zweck eines forums ;)

ps: bin selbst noch newbie :D

Gruß HL
 
Aracon schrieb:
Ich weiß zwar net warum es läuft, aber es läuft :D

Dankeschön ich darf mich doch nochmal melden wennein problem auftaucht oder werde ich dann erschlagen? :D

Du hast den C-Header benutzt, allerdings brauchst du für cout den C++ - Header.

Edit:
Ah, ist schon in dem anderen Topic beantwortet...
 
Zuletzt bearbeitet:
du koenntest auch statt \n std::endl benutzen.

auf bald
oenone
 
h2owasser schrieb:
Du hast den C-Header benutzt, allerdings brauchst du für cout den C++ - Header.

Edit:
Ah, ist schon in dem anderen Topic beantwortet...

Er hat schon den C++ Header benutzt. Nur leider den alten.

zu using namespace std:

Namespaces sind eigentlich nur dazu da um klare Abgrenzungen zwischen den einzelnen Libs zu haben. Man schreibt haeufig Programme und verwendet dabei viele Libs von vielen verschiedenen Programmierern. Es kann ja vorkommen, dass die Programmierer, welche unabhaenig voneinander die Libs entwickeln die selben Klassennamen verwenden. Um diesen Namenskonflikten auszuweichen verwenden viele Programmierer von Libs namensraeume. Sie verpassen dann ihrer gesamten Lib einen Namensraum -> in deinem Falle verwendest du die STL - und die ist im Namesraum std:: untergebracht. Um jetzt einen Konflikt herbeizufuehren mussten die unabhaengigen Programmierer der Libs den gleichen Namensraum und gleiche Klassennamen werdenen um den Compiler zur Strecke zu bringen. Das is imho recht unwarscheinlich.

Gruss
 
hehejo schrieb:
Das wäre dann aber wieder ein Misch aus altem (printf) und neuem (std::cout, std::cin).
Hm, wieso? Von printf() und der stdio.h war doch nie die Rede...

Gruß, zwerg
 

Ähnliche Themen

dynamische klassen /statische klassen

KDE-Theme "domino 4.0"

FreeBSD 7 Intel 1GBit NIC=nur 100MBit

GCC spuckt massig Fehler bei makescripts aus

Ndiswrapper

Zurück
Oben