fehler 1120 und 2019 was tun ?



  • hi leute habe ein programm geschrieben das ein passwort abfragen soll. nur leider birngt es immer die fehler 1120 und 2019 habe gegoogelt aber komme nicht weiter. hier der der code:

    Passwort.cpp : Definiert den Einstiegspunkt für die Konsolenanwendung.
    //
    
    #include "stdafx.h"
    #include <iostream>
    #include <iomanip>
    #include <string>
    #include <ctime>
    
    using namespace std;
    
    long timediff (void);
    
    static string geheimwort = " Markus ";
    static long maxanzahl = 3, maxtime = 30;
    
    bool getPassword()
    
    {
    	bool ok_flag = false;
    	string wort;
    	int anzahl = 0, time = 0;
    	timediff();
    	while( ok_flag != true&&
    			++anzahl <= maxanzahl)
    	{
    		cout << "\n\nGeben Sie das Paßwort ein:  ";
    		cin.sync();
    		cin >> setw(20) >> wort;
    		time += timediff();
    		if ( time >= maxtime )
    			break;
    		if ( wort != geheimwort )
    			cout << " Paßwort ungültig !" << endl;
    		else
    			ok_flag = true;
    	}
    	return ok_flag;
    }
    

    und hier díe fehlermeldungen:

    K2019: Verweis auf nicht aufgelöstes externes Symbol ""long __cdecl timediff(void)" (?timediff@@YAJXZ)" in Funktion ""bool __cdecl getPassword(void)" (?getPassword@@YA_NXZ)".
    1>MSVCRTD.lib(crtexe.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_main" in Funktion "___tmainCRTStartup".
    1>C:\Users\Maik\Documents\Visual Studio 2008\Projects\Passwort\Debug\Passwort.exe : fatal error LNK1120: 2 nicht aufgelöste externe Verweise.
    1>Das Buildprotokoll wurde unter "file://c:\Users\Maik\Documents\Visual Studio 2008\Projects\Passwort\Passwort\Debug\BuildLog.htm" gespeichert.
    1>Passwort - 3 Fehler, 0 Warnung(en)
    ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========

    hoffe ihr könnt mir helfen vielen dank im vorraus

    gruß maik



  • Naja, wie auch die Fehlermeldung des Compilers dir sehr detailiert beschreibt, liegt's daran, dass du die Funktion timediff noch überhaupt nicht definiert hast.

    Man kann eine Funktion schließlich erst dann verwenden, wenn sie definiert wurde, irgendwie auch logisch, oder? 😉

    long timediff (void); // Deklaration (kann in diesem Fall auch weggelassen werden)
    
    long timediff (void) // Definition
    {
    	return 0;
    }
    

Anmelden zum Antworten