1

我寫的是需要檢查輸入的任何東西,包括一個程序的性質,這是我有一個問題:如何創建一個'字符常量

case ''': 
    //some code 
    break; 

給了我這些錯誤:

error C2137: empty character constant 
error C2001: newline in constant 

有沒有一種方法可以讓我寫出這種情況的格式呢?
我唯一的其他想法是讓我的默認情況下,這是不是在所有我想什麼。

+0

你必須使用'「\」'' –

+0

第三頁中的每一個C(C++)手冊 –

+1

@JacekCz - 僅僅因爲答案很簡單,並沒有使這是一個不值得的問題 – StoryTeller

回答

3

特殊字符需要進行轉義,爲了在這個意義上使用,如:

case '\'': 
-1

您可以使用'\'''\x27'甚至*"'"。你也可以用價值0x27施放intchar,但得到更多的不可讀像'\x27'已經這樣做了。

C++允許在交換機和constexpr語句*"'",但懶惰編譯器C可應用在其上運行時pointerarithmetic。

+0

爲什麼這樣做對你的代碼的閱讀器? :/ – gsamaras

+1

硬編碼幻數不是一個好主意。 C++語言定義不要求單引號用值0x27表示。 –

+1

C++標準(2014)要求'case *「'」:'工作。 – aschepler

相關問題