web-dev-qa-db-fra.com

Visual Studio indique "La méthode doit avoir un type de retour"

Ça dit 

"La méthode doit avoir un type de retour"

chaque fois que j'essaye de le déboguer.

Je ne sais pas comment réparer cette classe

Ceci est une classe de joueur pour un jeu 2d codé c #

public class player
{
    public float moveSpeed;
    public Vector2 position;
    public Texture2D texture;

    //default constructer
    public Player(Texture2D tex, Vector2 startPos)
    {
        position  = startPos;
        texture   = tex;
        moveSpeed = 5.0f;
    }
    public void Update(GameTime gameTime)
    {
        //------------------------------------------
        //check for keyboard input(keyboard IF statements)

    }
    public void Draw(SpriteBatch spriteBatch)
    {
        spriteBatch.Draw(texture, position, Color.White);
    }
}
6
user3477229

Votre classe est player mais le constructeur est Player, car ils sont différents, il s'attend à ce que Player soit une méthode plutôt qu'un constructeur. 

Changez le nom de la classe en Player et vous serez bien

16
FabianCook

Votre nom de classe est player avec des minuscules. Lorsque le compilateur trouve le constructeur de la classe Player (majuscule), il considère qu'il s'agit d'une méthode appelée Player sans type de retour spécifié.

Donc, renommez simplement votre classe en majuscule Player. C # est sensible à la casse, donc player et Player sont deux choses différentes.

8
Julián Urbano

Votre classe est minuscule, votre constructeur est en majuscule. Le nom et le constructeur de la classe doivent toujours être identiques et sont sensibles à la casse :)

4
Dylan Meeus

Je suppose que c'est une faute de frappe. Votre nom de classe est player est en minuscule et votre constructeur a une lettre majuscule. Ce n'est donc pas considéré comme un cinstructor mais comme une méthode qui manque le mot clé void.

EDIT: Désolé pour ce qui semble être une réponse répétée, on dirait que beaucoup de personnes ont répondu presque au même moment;)

2
Amaranth

Votre nom de classe est "player", mais le nom du constructeur est "Player" (majuscule de p). Le constructeur est donc considéré comme une méthode sans type de retour. Renommez-le en "joueur" et cela fonctionnera :)

0
Watz