Hallo leute,
wie man es sich denken kann hab ich ein Problem und das nervt,weil es 6mal in der selbenDatei vorkommt, was sich auf die anzahl der Funktionsaufrufe zurückführen läst.
Ich habe eine Instanz der Klasse CHauptgebaeude namens hauptgebaeude. die Adresse dieser Instanz habe ich so an die folgende Funktion übergeben:
|
C-/C++-Quelltext
|
1
|
Haupthaus.Menue(&Haupthaus);
|
der prototyp der Funktion Haupthaus.Menue(&Haupthaus) sieht so aus:
|
C-/C++-Quelltext
|
1
|
void Menue (CHaupthaus *pPlayerHaupthaus);
|
die eigtliche Funktion:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
void CHaupthaus::Menue(CHaupthaus *pPlayerHaupthaus)
{
char Auswahl;
MenueHead();
std::cout<<" "<<std::endl;
std::cout<<"(U)pgrade"<<std::endl;
std::cout<<"(Z)urueck"<<std::endl;
std::cin>>Auswahl;
switch(Auswahl)
{
case('U'):
case('u'):
{
this->Upgrade(&pPlayerHaupthaus);
}break;
case('Z'):
case('z'):
{
MainMenue();
}break;
default:
{
std::cout<<"Falsche Eingabe!"<<std::endl;
this->Menue(&pPlayerHaupthaus);
}
};
}
|
in dieser Funktion Menue() wird dann eine Funktion Upgrade() aufgerufen an die die Adresse von pPlayerHaupthaus weitergegeben wird. Der prototyp ist folgender:
|
C-/C++-Quelltext
|
1
|
void Upgrade (CHaupthaus *pPlayerHaupthaus);
|
So mein problem: ich bekomme wie oben schon gesagt für jeden Funktionsaufruf von Menue()/Upgrade folgenden Fehler:
|
Quellcode
|
1
2
|
error C2664: 'CHaupthaus::Menue': Konvertierung des Parameters 1 von 'CHaupthaus **' in 'CHaupthaus *' nicht möglich
1> Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.
|
kann mir da vielleicht nen Tip geben, woran das liegt?
Hab hier schon aml geguckt, über die suche im Forum und ich persönlich glaube nicht, das es an Unicode liegt, oder etwa doch :shock: ?
thx für alle antworten
P.S.:
1. ich hab schon in der MSDN(zum C2664) geguckt, bin daraus aba nicht schlauer geworden
2. wie schon im titel steht: ich verwende MS VC++ 2008 express