undefined reference

Schnelle objektorientierte, kompilierende Programmiersprache.
Antworten
G_loW
Beiträge: 29
Registriert: Mi Jan 14, 2009 10:05 pm

undefined reference

Beitrag von G_loW » Mi Jul 08, 2009 1:58 pm

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:
use Linux
use Code::Blocks

Benutzeravatar
fat-lobyte
Beiträge: 1398
Registriert: Sa Jul 05, 2008 12:23 pm
Wohnort: ::1
Kontaktdaten:

Re: undefined reference

Beitrag von fat-lobyte » Mi Jul 08, 2009 2:53 pm

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.
Haters gonna hate, potatoes gonna potate.

Benutzeravatar
hackmack
Beiträge: 85
Registriert: Do Mär 26, 2009 10:16 pm

Re: undefined reference

Beitrag von hackmack » Mi Jul 08, 2009 3:42 pm

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.
They say, if you play a Microsoft CD backwards, you hear satanic messages. Thats nothing, cause if you play it forwards, it installs Windows.

G_loW
Beiträge: 29
Registriert: Mi Jan 14, 2009 10:05 pm

Re: undefined reference

Beitrag von G_loW » Do Jul 09, 2009 12:33 pm

danke,

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

X-[

aber aus fehlern lehrnt man :mrgreen:
use Linux
use Code::Blocks

Antworten