Problem mit Übergabe
-
Bei mir sieht das so aus:
void SendCmdEnd(const edict_t *player); void SendCmdStart(const edict_t *player, const struct usercmd_s *cmd, unsigned int random_seed) { std::string cheat(CMD_ARGV(0)); if ((cheat == "say") || (cheat == "say_team")) { printf("Willst also was sagen!\n"); } SendCmdEnd(edict_t); RETURN_META(MRES_HANDLED); } void SendCmdEnd(const edict_t *player) { RETURN_META(MRES_HANDLED); }
Er sagt dann:
error C2275: "edict_t" : Ungültige Verwendung dieses Typs als Ausdruck
-
Ich würde sagen es liegt hier dran, am Funktionsaufruf:
SendCmdEnd(edict_t);
Du übergibst edict_t, was aber kein Ausdruck sondern ein Typ ist. Oben im Funktionskopf hast du
void SendCmdStart(const edict_t *player,[...]
deklariert. Es sollte denke ich gehen, wenn du "player" übergibst, weil das ein Zeiger ist und somit nicht mehr der Typ!
Also, Funktionaufruf änder in:SendCmdEnd(player);
Code-Hacker