2014-03-30 16 views
5

Es sagtVisual Studio sagt „Methode Rückgabetyp haben muss“

„Methode Rückgabetyp haben muss“

wenn ich versuche, es zu debuggen.

Ich weiß nicht, wie diese Klasse zu beheben

Dies ist ein Spieler-Klasse für eine C# codiert 2d Spiel

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); 
    } 
} 
+4

Nun, welche Zeile hat den Fehler? Denkst du nicht, dass es uns helfen würde, es uns zu sagen? – OldProgrammer

Antwort

7

Ihre Klassennamen player mit Kleinbuchstaben ist. Wenn der Compiler den Konstruktor für die Klasse Player (in Großbuchstaben) findet, denkt er, dass es sich um eine Methode namens Player handelt, für die kein Rückgabetyp angegeben ist.

So benennen Sie einfach Ihre Klasse in Großbuchstaben Player. Bei C# wird die Groß-/Kleinschreibung beachtet, also sind player und Player zwei verschiedene Dinge.

4

Ihre Klasse ist ein Kleinbuchstabe, Ihr Konstruktor ist ein Großbuchstabe. Klassenname & Constructor sollte immer gleich sein und sind case-sensitive :)

13

Ihre Klasse ist player aber der Konstruktor ist Player, weil sie anders sind es Player erwartet ein Verfahren zu sein, anstatt ein Konstruktor

ändern der Klassenname zu Player und Sie werden gut sein

1

Ich denke, es ist ein Tippfehler. Ihr Klassenname ist Player ist Kleinbuchstaben und Ihr Konstruktor hat einen Großbuchstaben, so dass es nicht als ein Kursleiter gesehen wird, sondern als eine Methode fehlt das Schlüsselwort void.

EDIT: Sorry für was se4ems eine wiederholte Antwort zu sein, scheint, wie bei fast viele Menschen den gleichen Moment beantwortet;)

0

Ihr Klassenname ist „Spieler“, aber der Konstruktor Name ist „Player“ (Groß von p). Daher wird der Konstruktor als eine Methode ohne Rückgabetyp betrachtet. Benennen Sie es als "Spieler" um und es wird funktionieren :)