2017-08-18 5 views
-2

を返しません。任意の提案。機能は、私は、変数「thesi1に機能「checkPos」から正しい値を取り戻すおりません。ウィンドウにコードブロックを使用して期待値

int checkPos(int thesi) 
{ 
    switch(thesi) 
    { 
     case 6: 
      thesi = 4; 
      break; 
     case 3: 
      thesi = 8; 
      break; 
     case 7: 
      thesi = 3; 
      break; 
     case 9: 
      thesi = 16; 
      break; 
     case 14: 
      thesi = 10; 
      break; 

     return thesi; 
    } 
} 


int main(){ 

    thesi1 = checkPos(newPos); 
    cout << "your position is " << thesi1 << endl; 
+1

値でない場合は、あなたが逃しただけでなく、デフォルトのケースがいくつかありますか?あなたは渡しているnewPosは何ですか? –

+1

このコードは、コンパイルされません。質問を編集して[mcve]を追加してください。また、あなたが得た結果と期待した結果との違いを述べてください。 –

+0

int main(){ int thesi1(0)、newPos; – Koullis

答えて

1

あなたはとてもreturnステートメントを移動する必要があります何return文がswitch文の後には存在しないので、それが正しいswitch声明の閉鎖}後であることを。書かれているように、あなたの関数の動作は未定義た。あなたは、このようなエラーを検出するために、あなたのコンパイラの警告レベルを上げなければならない。

int checkPos(int thesi) 
{ 
    switch(thesi) 
    { 
     case 6: 
      thesi = 4; 
      break; 
     case 3: 
      thesi = 8; 
      break; 
     case 7: 
      thesi = 3; 
      break; 
     case 9: 
      thesi = 16; 
      break; 
     case 14: 
      thesi = 10; 
      break; 
    } 
    return thesi; 
} 
0

リストにthesi1の種類が何であるか

#include<iostream> 
using namespace std; 

int checkPos(int thesi) 
{ 
    switch (thesi) 
    { 
    case 6: 
     thesi = 4; 
     break; 
    case 3: 
     thesi = 8; 
     break; 
    case 7: 
     thesi = 3; 
     break; 
    case 9: 
     thesi = 16; 
     break; 
    case 14: 
     thesi = 10; 
     break; 
    default: 
     cout << thesi<<" Not in the list"<<endl; 
     return -1; 

    } 
    return thesi; 
} 


int main() { 
    int newPos; 
    int thesi1 = checkPos(0); 
    cout << "your position is " << thesi1 << endl; 
} 

出力

0 Not in the list 
your position is -1 
関連する問題