2010-11-27 9 views
4

このコンパイラエラーが発生しましたが、何が問題なのですか?すべてのコードパスが値を返すわけではありません

public PictureBox getinfo(int i, int j) 
{ 
    return grid[i, j]; 
} 

public PictureBox kingmove(int i, int j)///<-----the problem is here 
{ 
    getinfo(i, j); 

    if (i < 9) 
    { 
     grid[i, j] = grid[i - 1, j - 1]; 
    } 
    else 
    { 
     grid[i, j] = grid[i, j]; 
    } 
+0

良いC#本?そういうわけで、あまりにも頻繁にSOに質問し、後で質問を削除する必要はありません。 – CodesInChaos

+0

この一般的なエラーは、関数の戻り値が見つからないか、間違ったデータ型を返すときに返される関数と比較して発生します。 –

答えて

6

あなたの第二の方法は何returnの文が、voidから異なる戻り型を持っていません。
エンドreturnステートメントを追加し、最初は追加しません。

あなたは以前の質問にそれを編集できました。

UIとゲームロジックを混在させる方法も醜いです。ゲームロジックは、WinForms、ピクチャボックス、その他について何も知っていないはずです...
gamestateを取り、それをいくつかのコントロール/ビットマップ/ピクチャボックスにレンダリングする関数を書く...

+3

さらに、 'getinfo()'を呼び出すと便利なことはないでしょうが、それはまったく別の問題です。 – Donnie

+0

大変ありがとう、 – Arash

+0

他には役に立たないとは言えません:) –

関連する問題