DEV c++, nimmt nicht alle C++ Syntaxe an.... ;(



  • Hi,

    ich bin auch neu in c++ lernen aber ich habe ein großes Problem, ich fin denn DEV c++ schön, aber er nimmt alle Syntaxe an, zb. ein Codeauszug von C++ für Dummies:

    #include <iostream>
    
    void outName(char *pName)
    {
    cout << "Mein Name ist "
         << pName
         << "\n";
    }
    

    Er hat immer was mit dem cout, ich bin an verzweifeln 😞 !!



  • Der Fehler liegt daran, dass kein namespace definiert ist. Du hast zwei Möglichkeiten, dies zu ändern:
    1. füge die Zeile

    using namespace std;
    

    in dein Programm ein (nach #include <iostream> )

    void outName(char *pName) 
    { 
    	std::cout << "Mein Name ist " 
         		  << pName 
         		  << "\n";
    }
    

    Damit drückst Du aus, dass Du cout aus dem namespace std verwendest.
    Was ein namespace genau ist sollte eigentlich irgendwo in deinem C++-Buch stehen. Und falls nicht, solltest Du dringend ein besseres Buch zu C++ kaufen...

    Gruss,
    Andreas



  • Ich brauche einen C Compiler, die anderen wie gcc und der andere Mist, ist mir zu unständig, weil man da bei solchen Compilern nicht weißt wo was ist...

    Kann einer mir ein C Compiler nennen der zum Download angeboten wird...



  • dein problem von oben wäre damit aber nicht gelöst.. das eine ist, die sprache zu beherrschen, das andere, einen compiler zu haben.
    compiler sind alle ähnlich, du meinst wahrscheinlich eine ide, eine entwicklungsumgebung.

    damit wird dir aber nicht abgenommen, die sprache zu lernen...



  • Das liegt doch klar auf der Hand, das der DEV c++ nicht denn C Syntax beherscht, ganz einfach!

    Und die Bücher von der "Dummies Reihe" sind eigentlich sehr gut!

    Ich brauche einen Compiler der sehr gut ist! Weiß einer wo ich so einen herbekomme?



  • Das liegt doch klar auf der Hand, das der DEV c++ nicht denn C Syntax beherscht, ganz einfach!

    Probiers aus! g++ unterstützt sehr wohl, das was du fälschlicherweiße als "Syntax" bezeichnest!

    Dave



  • Und wo gibs denn G++? URL please!



  • Dev C++ benutzt die GnuCompilerCollection (gcc), die einen C-Compiler und einen C++-Compiler (g++) enthält.



  • das forum besitzt eine compilerseite, da kannst du dir die vorzüge und nachteile verschiedener compiler und ides durchlesen und deine wahl treffen.

    aber achtung: du wirst um das lernen der sprache c++ dadurch nicht rumkommen.



  • Habe ich gesagt das ich mich drücken möchte ,der Compiler soll ja nur meine Codes umwandeln in Maschinensprache!

    Wenn ich die Datei kompellieren möchte sagt er dann:

    [Linker error] undefined reference to `WinMain@16'

    Weiß einer was er meint??



  • du versuchst, ein konsolenprogramm als winapi programm zu compilieren..

    also: du musst ein konsolenoprojekt erstellen ,dann sucht er automatisch die main als einsprung.
    wenn du ein winapi projekt erstellst, dann eben analog winmain. die gibt es aber bei dir nicht.

    so long



  • Gut gemeinter Tipp: Fang lieber mit einer einfacheren Programmiersprache an, als C/C++. Am besten (Object-)Pascal oder sowas.

    dave



  • @elise
    Nochmal und in Deutsch! Er müsste doch so Ausführen wie es im Buch steht, das kann doch net sein, das die falsche Codes darein reinschreiben, ich glob das nett...

    Codebeispiele sind immer gut, ich seh objektiv und nicht selektiv!

    @_dave_

    Ich habe html, php und mysql programmiert, nah noch Fragen?

    Und PHP ähnelt C++ in Sachen Schleifen und Co sehr!



  • Schreibe das Programm mal in Notepad und speichere es als name.cpp
    anschließend öffnest du die Datei mit Dev C++ und kompilierst es, dann muss
    es gehen.



  • Hat auch nicht geklappt, hilfeeeeeeeeeee.

    #include <iostream>
    using namespace std;
    
    void outName(char *pName)  
    {  
        cout << "Mein Name ist "  
                   << pName  
                   << "\n"; 
    }
    


  • ist das dein ganzes programm? weil sowas läuft auf keinem compiler... irgenwo muss da einfach eine main funktion sein.



  • Versuch mal:

    #include <iostream> 
    using namespace std; 
    
    void outName (char *pName);
    
    int main ()
    {
      outName ("name");
      return 0;
    }
    
    void outName(char *pName)   
    {   
        cout << "Mein Name ist "   
                   << pName   
                   << "\n";  
    }
    


  • Japro hat ganz recht: der Linker-Fehler zeigt, dass die main-Funktion fehlt! Wenn Du am Anfang nicht ausdrücklich von einem "Codeauszug" gesprochen hättest, wären wir da auch schon früher drauf gekommen...
    Also wenn Dein Buch Dir den Code wirklich so liefert, ohne dass vorher mal irgendwie eine main-Funktion erwähnt wurde, dann ist es Müll und Du kaufst Dir besser ein gescheiteres Buch!! Oder hast Du vielleicht nicht alles gelesen???
    Bevor Du auf den Compiler schimpst solltest Du Dir besser wirklich sicher sein, dass es nicht an Dir liegt!



  • Danke Leute, das Buch ist klasse, aber die haben bestimmt nur auf die Variante hingewiesen wie das geschrieben wird..



  • Wo wir gerade beim Thema sind, Dev c++ 4 kennt kein

    cout << showpos << 3 << endl;
    

    nur

    cout.setf(ios::showpos);
    cout << 3 << endl;
    

    Aber so alt ist der Compiler doch nicht, weshalb ich mir nich vorstellen kann dass das nicht funktioniert, ist das vielleicht nur irgendwo ausgestellt oder ist der Compiler wirklich so "veraltet"?



  • Andreas2 schrieb:

    Japro hat ganz recht: der Linker-Fehler zeigt, dass die main-Funktion fehlt! Wenn Du am Anfang nicht ausdrücklich von einem "Codeauszug" gesprochen hättest, wären wir da auch schon früher drauf gekommen...
    Also wenn Dein Buch Dir den Code wirklich so liefert, ohne dass vorher mal irgendwie eine main-Funktion erwähnt wurde, dann ist es Müll und Du kaufst Dir besser ein gescheiteres Buch!! Oder hast Du vielleicht nicht alles gelesen???
    Bevor Du auf den Compiler schimpst solltest Du Dir besser wirklich sicher sein, dass es nicht an Dir liegt!

    Ist bei vielen Beispielen doch so, dass nur die Header und eben eine Funktion
    als kleines Code-Snippet aufgeführt werden.
    Da dies ja sonst ziemlich viel Platz in Anspruch nehmen würde, da immer ein
    vollständiges Beispiel hinzuschreiben.


Anmelden zum Antworten