2014-11-13 41 views
0

誤差在以下代碼中使用開關殼體

switch(a) 
    { 

    case '+' : 
     result=num1+num2; 
    break; 

    case '-' : 
     result=num1-num2; 
    break; 

    case '*' : 
     result=num1*num2; 
    break; 

    case '/' : 
     result=num1/num2; 
    break; 

    case '^' : 
     result=pow(num1,num2); 
    break; 

    default : 
     cout << "Invalid operator" << endl; 
    } 

是字符指針,並且錯誤是: 錯誤:開關值不是一個整數...

+0

我不明白,是一個char或char指針。如果它是一個字符指針,這將解釋爲什麼你會得到一個錯誤 –

回答

3

如果a是一個指針,你不能在switch使用它:你需要取消對它的引用第一 - 或者類似這樣的

switch(*a) 

或類似這樣的

switch(a[0]) 
+0

是的,這個。我猜如果a是char *,那麼這將解釋錯誤。 –

+0

對此,它工作正常 –