LNK2019 Fehler



  • Hallo erstmal

    Ich hab mich seit dieser Woche mal mit C++ auseinandergesetzt. Bisher hat auch alles gut funktioniert, allerdings kriege ich den Fehler in meiner main einfach nicht raus. Der Kompiler sagt mir:

    1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""int __cdecl BerechneLevelG(int,int)" (?BerechneLevelG@@YAHHH@Z)" in Funktion "_main".
    1>Pfad zur Datei : fatal error LNK1120: 1 nicht aufgelöste externe Verweise.

    Daraus schließe ich, dass der Fehler in einer Funktion der main liegt. Ich find ihn aber einfach nicht. Hier ist der Quellcode:

    int BerechneLevelG (int JetztigesGLevel, int GewünschtesSLevel); //Prototyp
    
    int main ()
    {	
    	int JetztigesGLevel = 1;	//Variablen
    	float JetztigeG;			
    	int GewünschtesGLevel;
    	float MultiplikatorG;
    
    	bool Eingegeben = false;
    
    	cout << "Jetztiges Geschwindigkeitslevel: 1" << endl;    //Einmalige Eingabe aller nötigen Informationen
    	cout << "Jetztige Geschwindigkeit: " ;
    	cin >> JetztigeG;
    	cout << "Gewuenschtes Level: ";
    	cin >> GewünschtesGLevel;
    	cout << "Multiplikator: x";
    	cin >> MultiplikatorG;
    
    	JetztigesGLevel = BerechneLevelG (JetztigesGLevel, GewünschtesGLevel);					//Neue Werte berechnen
    	JetztigesSLevel = BerechneLevelS (JetztigesSLevel, GewünschtesSLevel);
    
    	Eingegeben = true;   
    
    	while (Eingegeben == true) //wird nicht mehr auf falsch gestellt, daher immer wiederhohlen
    	{
    
    		cout << "Jetztiges Geschwindigkeitslevel: " << JetztigesSLevel << endl; 
    		cout << "Jetztige Geschwindigkeit: " << JetztigeG << endl;
    		cout << "Gewuenschtes Level: ";
    		cin >> GewünschtesGLevel;
    
    		JetztigesGLevel = BerechneLevelG (JetztigesGLevel, GewünschtesGLevel);					//Neue Werte berechnen
    		JetztigeG = BerechneG (JetztigeG, GewünschtesGLevel, JetztigesGLevel, MultiplikatorG);
    
    	}
    
    }
    
    int BerechenLevelG (int JetztigesGLevel, int GewünschtesGLevel)                                        //Funktionen werden definiert
    {
    	int Temp = 0;
    	while (JetztigesGLevel != GewünschtesGLevel)
    	{
    		JetztigesGLevel++;
    		Temp = JetztigesGLevel;
    	}
    	return Temp;
    }
    
    float BerechneG (float JetztigeG, int GewünschtesGLevel, int JetztigesGLevel, float MultiplikatorG)
    {
    	float Temp = 0;
    	while (JetztigesGLevel != GewünschtesGLevel)
    	{
    		JetztigesGLevel++;
    		Temp = JetztigeG * MultiplikatorG;
    	}
    	return Temp;
    }
    

    Ich will jetzt nicht, dass all meine Fehler korrigiert werden, ich will das Programm nur starten können. Für Verbesserungen an meinem Schreibstil bin ich immer offen, da ich mir nicht sicher bin, ob man das auch so machen sollte, wie ich das tue. Danke schon mal für die Hilfe.



  • Earlopain schrieb:

    ob man das auch so machen sollte, wie ich das tue.

    Nee, eher nicht.

    Dein Problem ist ein Tippfehler in Zeile 42.



  • Danke, ich dachte, dass ich alles durchgegangen bin ,aber das hab ich irgendwie übersehen. Danke für die schnelle Antwort!



  • Mechanics schrieb:

    Dein Problem ist ein Tippfehler in Zeile 42.

    Lol, ich dachte echt erst, dass wär ein sarkastische Antwort weil nicht ausreichend Code gezeigt oder so.



  • Mich wundert grad einfach nur, dass du keine Probleme bekommst, wenn du Umlaute in deinem source code verwendest^^


Anmelden zum Antworten