| 

.NET C# Java Javascript Exception

1
Hallo,
ich möchte aus der Methode einer Klasse ( Position(int pos) ganz am Ende der Klasse) einen Zeiger auf das Listenelement "int pos" zurückgeben. Mein Problem ist jetzt das ich nicht so recht weiß was ich zurückgeben soll...

Headerdatei
typedef struct MA{
MA *vor;
MA *nach;
} Struktur;


class mitarbeiter {
private:
Struktur *Anfang;
Struktur *Ende;

float gehalt;
int alter;
char* name;

public:
mitarbeiter();
mitarbeiter(char* name, int alter, float gehalt);

// Personalfunktionen
void setName(char* src);
void setGehalt(float src);
void setAlter(int src);
char* getName();
float getGehalt();
int getAlter();

// Listenfunktionen
bool istLeer();
void popAnfang(mitarbeiter*);
void popAnfang(char* name, int alter, float gehalt);
void popEnde(mitarbeiter*);
void popEnde(char* name, int alter, float gehalt);
Struktur* Position(int);
};


Implementierung
Struktur* mitarbeiter::Position(int pos)        // was steht an Position "pos" ?
{
Struktur *tmp;
mitarbeiter *ma;

tmp = NULL;
int i = 0;

for (tmp = Anfang->nach ; tmp != NULL ; tmp = tmp->nach, i++)
{
if (pos == i)
{
// hier müsste die Rückgabe hin...

return this; // funktionniert nicht

}
}
}



ach ja, meine Compiler sagt...
[C++ Fehler] ma.cpp(107): E2034 Konvertierung von 'mitarbeiter * const' nach 'MA *' nicht möglich
News:
29.06.2011
sky-net 161 6
1 Antwort
1
Vielleicht verstehe ich ja noch nicht ganz, was Dein Code tun soll, aber derzeit sieht es für mich so aus, als müßtest Du tmp zurückgeben.
29.06.2011
Matthias Hlawatsch 13,2k 4 9
Danke für die Nachfrage, aber ich hab alles über den Haufen geworfen und nochmal neu angefangen... jetzt klappts.

wie ich im Nachhinein festgestellt habe wäre tmp richtig gewesen, allerdings mit einer leicht abgeänderten struktur.
sky-net 30.06.2011

Stelle deine Cplusplus-Frage jetzt!