Schnelle objektorientierte, kompilierende Programmiersprache.
-
G_loW
- Beiträge: 29
- Registriert: Mi Jan 14, 2009 10:05 pm
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

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

use Linux
use Code::Blocks
-
fat-lobyte
- Beiträge: 1398
- Registriert: Sa Jul 05, 2008 12:23 pm
- Wohnort: ::1
-
Kontaktdaten:
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.
-
hackmack
- Beiträge: 85
- Registriert: Do Mär 26, 2009 10:16 pm
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
Beitrag
von G_loW » Do Jul 09, 2009 12:33 pm
danke,
immer diese "/&)"&$/&$&("%(=(/)
X-[
aber aus fehlern lehrnt man

use Linux
use Code::Blocks