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


Anmelden zum Antworten