2016-04-11 30 views
-18

私はVisual Studioに何か問題があります。コンパイルできないと言います。私は問題が何であるか把握できません。たとえ「ブール」がないとしても、ボイドからブールに変換することはできないようなものです。ここに私のコード:voidからboolにコンパイルできないエラーをコンパイルできません

using System; 

namespace ConsoleApplication14 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      Console.WriteLine(myFunction(14)); 
     } 

     public static void myFunction(int x) 
     { 
      return x + 2; 
     } 
    } 

コンパイルエラーの原因は何ですか?

+0

'myFunction'はint型を返す必要があります。 – NoviceProgrammer

+0

WriteLine()methは値を出力しようとしていますが、myFunctionは値を返していません(戻り値は 'void'です)。 – jdweng

+4

[ツアー]に行って[質問]と[チェックリスト](http://meta.stackoverflow.com/questions/260648/stack-overflow-question-checklist)にアクセスしてください。あなたの質問はよく尋ねられるものではなく、より良いタイトルに値するものです。その後、私はそれも重複していると思います。 – rene

答えて

0

はあなたmyfunction方法あなたは、いくつかのint型の値を返すには、この

class Program 
{ 
    static void Main(string[] args) 
    { 
      Console.WriteLine(myFunction(14)); 
    } 

    public static int myFunction(int x) 
    { 
      return x + 2; 
    } 
} 
0

あなたはInt。 Voidには戻り値の型がありません。あなたは

public static int myFunction(int x) 
{ 
    return x + 2; 
} 
0

タイプvoidが必要になります。この作業を行うためにはmamberは何も返さないことを示しています。だからあなたのメソッドがそのようにマークされている場合、値を返すべきではありません。しかし、Console.WriteLineに電話するときは、コンソールに値を印刷する必要があります。

さらに、あなたのメソッドは計算を行い、何かを返すべきです - あなたのケースではint。だからではなく、voidとしてあなたの方法を定義することがintを返してみましょう:

class Program 
{ 
    static void Main(string[] args) 
    { 
     Console.WriteLine(myFunction(14)); 
    } 

    public static int myFunction(int x) 
    { 
     return x + 2; 
    } 
} 
0

を試してみたがmyfunction戻り値の型は、あなたのコードでvoidです。 Plaeseがvoidからintに変更され、アプリケーションが動作します。

namespace ConsoleApplication1 
 
{ 
 
    class Program 
 
    { 
 
     public static int myFunction(int x) 
 
     { 
 
      return x + 2; 
 
     } 
 
     static void Main(string[] args) 
 
     { 
 
      Console.WriteLine(myFunction(14)); 
 
      Console.ReadLine(); 
 
     } 
 
    } 
 
}

+0

私のために働いて.. –

関連する問題