Hallo,
als ich mit der Methode tbDirectInputt::GetState() den Status der digitalen Knöpfe abfragen wollte, spuckte mir der Compiler folgenden Fehler aus:
error C2664: 'GetState' : cannot convert parameter 2 from 'bool *' to 'int *'. Komisch, da der zweite Parameter ja eigentlich vom Typ BOOL * ist.
|
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
|
// Gescheiterter Versuch, diesen Fehler zu umgehen
#ifdef BOOL
#undef BOOL
#define BOOL bool
#endif
// Damit hatte es(wen wunderts) nichts zu tun
bool ** ppbButtons;
ppbButtons = new bool*[2];
ppbButtons[0] = new bool[tbDirctInput::GetNumButtons()];
ppbButtons[1] = new bool[tbDirctInput::GetNumButtons()];
float pfButtons = new float[tbDirectInput::GetNumButtons()];
// Funktioniert komischerweise nicht
if(tbDirectInput::GetState(pfButtons, ppbButtons[0]))
{
//...
}
// Funktioniert
if(tbDirectInput::GetState(pfButtons, (int*)(ppbButtons[0]))
{
//...
}
|