好吧,所以當我嘗試根據用戶的輸入打印某些內容時出現錯誤。相當標準的東西,對吧?因此,如果程序能夠正常工作,用戶將輸入六個單詞或短語,這些單詞或短語將存儲在名爲PhrasesAndWords的字符串中。然後,通過創建一個while循環,使用計數器作爲switch語句中的索引,可以測試數組的每個部分。顯然,這不起作用,因爲它不是一個常量表達式,或者一個constexpr。但是,該變量不能是常量表達式,因爲這會導致無限循環。順便提一下,這裏是錯誤:C++(在Switch語句中輸入錯誤)
C:\ Users \ henry \ Desktop \ NotTheActualPathForThisProject \ main.cpp | 34 |錯誤:切換數量不是整數|這裏
AAAND是我寫的代碼(我已經擺脫了不相關的變量,例如,雖然):
int main() {
string phrasesAndWords[6];
cin >> phrasesAndWords[0] >> phrasesAndWords[1] >> phrasesAndWords[2] >> phrasesAndWords[3] >> phrasesAndWords[4] >> phrasesAndWords[5]; // Recieve input
int counter = 0;
while (counter < 6) {
switch(phrasesAndWords[counter]) {
case "RandomString":
print("That sure was quite random. \n")
default:
print("I don't understaahnd... \n")
};
counter++;
};
};
'開關數量不是整數'。非常強烈的暗示,你不能在C++'switch'中使用字符串... – John3136
@ John3136也許他是來自Java背景:-) –
使它成爲一個矢量短語代替,並使用phrases.push_back(); –
Charlie