Seite 1 von 1

undefined reference

Verfasst: Mi Jul 08, 2009 1:58 pm
von G_loW
tach leutz,

ich hab mal wieder ein kleines proplem, und da dachte ich :Frag doch die kompetenten :ugeek: von proggen.org

hir der code:

Code: Alles auswählen

#include <iostream>
#include <fstream>
////////////////////////////////////////////
using namespace std;
fstream file("testfile.txt");
////////////////prototyp////////////////////
short load(char);
////////////////////////////////////////////
/////////////////main///////////////////////
int main (void)
{

    char Name[8] = {0};
    char *pName = Name;
    //////////////////////


    cout << "Lade Profil.....";
    if (load(*pName) == true)
        cout <<"Fertig\n\n---"<<pName;

    else
        cout << "Fehler X-[";


    file.close ();
    return 0;
}
////////////////////////////////////////////7
short load (char *pName)
{

    if (file >> pName)
        return true;
    else
        return false;

}
aber C::B sagt mir : undefined reference to load(char) :?:


ich check ma wieder net :lol:

Re: undefined reference

Verfasst: Mi Jul 08, 2009 2:53 pm
von fat-lobyte
Genau hinsehn:
G_loW hat geschrieben:

Code: Alles auswählen

...
////////////////prototyp////////////////////
short load(char);
...
short load (char *pName)
{
...
}
Es gilt: char != char *

Undefined Reference bedeutet, dass du zwar eine Funktion "deklariert", aber nicht im Gültigkeitsbereich des Aufrufs "definiert" hast. Das kann durch Tippfehler, Fehlende Implementierungen, Falsche typen (wie bei dir, load() wird Überladen), fehlende Bibliotheken oder falsche Linkereinstellungen geschehen.

Re: undefined reference

Verfasst: Mi Jul 08, 2009 3:42 pm
von hackmack

Code: Alles auswählen

  
if (load(*pName) == true)
         cout <<"Fertig\n\n---"<<pName;
Außerdem musst du bei load(*pName) noch den Indirektionsoperator weglassen. Normalerweise müsstet du an dieser Stelle eh den Adressoperator & benutzen, da pName aber ein Array darf da auch kein Adressoperator stehen.

Re: undefined reference

Verfasst: Do Jul 09, 2009 12:33 pm
von G_loW
danke,

immer diese "/&)"&$/&$&("%(=(/) :x

X-[

aber aus fehlern lehrnt man :mrgreen: