none
Rechteck Programm | Visual Studio Fehler: fatal error LNK1169 RRS feed

  • Frage

  • Hallo Community,

    ich bin gerade dabei, C++ zu lernen. Nun habe ich gerade dieses Program geschrieben:

    #include <iostream>
    
    using namespace std;
    
    double A(double a, double b) {
    	return a*b;
    }
    double U(double a, double b) {
    	return (2 * a) + (2 * b);
    }
    
    int main() {
    
    	double l, b;
    	cout << "Bitte gebe die Länge ein: ";
    	cin >> l;
    	cout << "\nBitte gebe die Breite ein: ";
    	cin >> b;
    	cout << "\nDer Umfang beträgt: " << U(l, b) << " Die Fläche beträgt: " << A(l, b);
    
    	return 0;
    }

    Visual Studio 2013 Update 4 sagt mir aber:

    1>------ Erstellen gestartet: Projekt: Grundkurs C++ (Buch), Konfiguration: Debug Win32 ------
    1>  Kaptel 3 S. 126.cpp
    1>Kaptel 3 S. 126.obj : error LNK2005: _main ist bereits in Kapitel 2 S. 73.obj definiert.
    1>C:\Users\Florian\documents\visual studio 2013\Projects\Grundkurs C++ (Buch)\Debug\Grundkurs C++ (Buch).exe : fatal error LNK1169: Mindestens ein mehrfach definiertes Symbol gefunden.
    ========== Erstellen: 0 erfolgreich, 1 fehlerhaft, 0 aktuell, 0 übersprungen ==========

    Ich hoffe mir kann jemand helfen, bestimmt ist etwas an den Funktionen falsch.

    Florian.

    Mittwoch, 1. April 2015 09:33

Antworten

  • Du hast simple und einfach in Deinem Projekt zwei CPP Dateien, die beide eine Main Funktion haben.Das sagt ja auch die Fehlermeldung! Du hast eine CPP Datei mit dem Namen "Kapitel 2 S. 73" und eine mit dem Namen "Kaptel 3 S. 126"

    Innerhalb eines Projketes darf es nur ein main geben!


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de

    Mittwoch, 1. April 2015 10:25
    Moderator

Alle Antworten

  • Du hast simple und einfach in Deinem Projekt zwei CPP Dateien, die beide eine Main Funktion haben.Das sagt ja auch die Fehlermeldung! Du hast eine CPP Datei mit dem Namen "Kapitel 2 S. 73" und eine mit dem Namen "Kaptel 3 S. 126"

    Innerhalb eines Projketes darf es nur ein main geben!


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de

    Mittwoch, 1. April 2015 10:25
    Moderator
  • Ah Ok,

    hab das wegen meines Buches so gemacht. Ich kommentiere die "main()" Funktion einfach aus in der "Kapitel 2 S. 73".

    Danke für deine Hilfe.

    Florian.

    Mittwoch, 1. April 2015 10:29
  • Eine Frage noch.......

    Bei folgendem Code:

    #include <iostream>
    
    using namespace std;
    
    double A(double a, double b) {
    	return a*b;
    }
    double U(double a, double b) {
    	return (2 * a) + (2 * b);
    }
    
    int main() {
    
    	double l, b;
    	cout << "Bitte gebe die Länge ein: ";
    	cin >> l;
    	cout << "\nBitte gebe die Breite ein: ";
    	cin >> b;
    	cout << "\nDer Umfang beträgt: " << U(l, b) << " Die Fläche beträgt: " << A(l, b) << "\n";
    
    	return 0;
    	getchar();
    }

    Das Problem, "getchar()" funktioniert nicht. Kann man den Code umschreiben, do dass "getchar()" funktioniert?

    Hoffe mir kann erneut jemand helfen :)

    Florian.

    Mittwoch, 1. April 2015 10:46
  • Ich würde immer die Datei aus dem Projekt nehmen, oder eben neue Projekte (für jedes Sample eines) anlagen, wenn es das den wert ist.


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de

    Donnerstag, 2. April 2015 10:34
    Moderator
  • Klar funktioniert getchar. Aber wnen Du es erst nach dem return ausführen willst geht das nicht.

    Einfacher ist es Programm einfach im Debug Test Modus mit Strg+F5 zu starten, dann halt das Programm selbst an.

    Ansonsten Debugger verwenden (F5) und Haltepunkt setzen.


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de

    Donnerstag, 2. April 2015 10:35
    Moderator
  • Also vor dem "return 0" "getchar()" ausführen?

    Bis jetzt schaue ich mir mein Programm mit STRG+F5 an.

    Florian.

    Dienstag, 7. April 2015 10:10