Hallo Leute,
also ich hab das Problem, dass ich andauernd folgendender Fehler bekomme und ich kann mir nicht erklären wieso:
so hier einmal der CODE dazu:
so das sind meine 3 Dateien die ich mir geschrieben habe. Leider erkennt er anscheinend meine Klasse die ich oben initalisiert habe nicht an bzw. er sagt ja das die Referenz zu Login::GetName(void) undiefieniert ist aber wieso?? Ich ralls einfach nciht. Ich hab in 2 BÜchern die Kapitel über Pointer durchgelesen aber ich kommt nicht drauf. Auch habe ich mir wieder das Kapitel über OOP und Klassen durchgelesen und einiges rumprobiert aber solangsam bin ich am Ende :-P . Vllt fällt euch direkt auf was ich falsch gemacht habe.
Ich benutze CODEblocks und compiliere mit dem gcc compiler!
also ich hab das Problem, dass ich andauernd folgendender Fehler bekomme und ich kann mir nicht erklären wieso:
Code:
||=== login, Debug ===| obj\Debug\main.o||In function `main':| C:\PFADUNDSO\CODEblock\login\login\main.cpp|33|undefined reference to `Login::GetName()'| ||=== Build finished: 1 errors, 0 warnings (0 minutes, 2 seconds) ===|
Code:
#######
main.cpp#
#######
#include <cstdlib>
#include <iostream>
#include <cstdio>
#include "login.h"
using namespace std;
struct userdata
{
char name[20];
char passwort[129];
};
int main()
{
userdata benutzer;
//char *name, *passwort;
Login *auth = new Login();
cout << "Bitte geben Sie ihren Benutzernamen ein!" << endl;
scanf("%s",benutzer.name);
cout << "Bitte geben Sie ihr Passwort ein!" << endl;
scanf("%s",benutzer.passwort);
cout << "Adresse von struct:" << &benutzer << endl;;
// auth->SetName(&benutzer);
//auth->SetPasswort(&benutzer);
cout << auth->GetName();
system("PAUSE");
return EXIT_SUCCESS;
}
Code:
########
login.cpp##
########
#include "login.h"
#include <cstdlib>
#include <iostream>
using namespace std;
bool Login::UserLogin(char &username, char &passwort)
{
}
void Login::SetName(struct userdata *usr)
{
cout << usr->name;
}
void Login::SetPasswort(struct userdata *usr)
{
printf("%s", usr.passwort);
}
char* Login::GetName()
{
// char *name;
//name = &Login->name;
//return name;
char *name;
char ch = 'a';
name = &ch;
return ch;
}
Code:
######
login.h##
######
class Login
{
private:
char name[20];
char passwort[129];
public:
bool UserLogin(char &name, char &passwort);
void SetName(struct userdata *usr);
void SetPasswort(struct userdata *usr);
char* GetName(void);
char* GetPasswort(void);
};
Ich benutze CODEblocks und compiliere mit dem gcc compiler!