2016-10-05 32 views
-6

所以我試圖在這個switch語句中使用「operator」關鍵字,但是當我這樣做時,我得到錯誤「error:expected-type specifier before→token operator:」 I數字關鍵字沒有出現任何錯誤。有任何想法嗎?在switch語句中使用運算符關鍵字

for (i=0; i < pf.length(); i++) 
    { 
    int opn1; 
    int opn2; 
    int result; 
    char token = pf[i]; 
    switch (token) 
     { 
     digit: 
      { 
      chast.push(token); break; 
      } 
     operator: 
      { 
      opn2 = chast.top(); 
      chast.pop(); 
      opn1 = chast.top(); 
      chast.pop(); 
      result = evaluate(opn1, token, opn2); 
      chast.push(result); 
      break; 
      } 
     } 
    } 
+0

你期待它做什麼? – immibis

+0

我嘗試在我的婚禮蛋糕中使用「炸藥」成分,但是當我這樣做時,烤箱出現故障。我對「木屑」成分沒有任何問題。 –

+0

@KerrekSB你期待它做什麼? – immibis

回答

0

在C++中,運算符是一個僅用於運算符重載的關鍵字。不幸的是,這在任何其他情況下都是非法的。

代碼中定義的「數字」在哪裏?

+0

我沒有定義它,但是當我使用它們時,它們都顯示爲與所有其他保留字一樣的黃色。對不起,如果我問的似乎很愚蠢。 – Drogo

2

所呈現的代碼在語法上是無效的:

  • 它缺乏case關鍵字爲switch標籤。

  • 它使用關鍵字operator作爲名稱。

重新

I am not getting any error for the digit keyword.

&hellip;這不是關鍵字。

Google C++關鍵字。讓自己a decent C++ textbook瞭解該語言的基本結構。