代码示例“switch”(b.eckel)不在Xcode上构建/运行,而是在QT上构建/运行

时间:2012-11-06 10:32:59

标签: c++ switch-statement case

此代码在QT SDK上安装(在Windows上安装),但在Xcode 4(Mac)上报告预期的表达式错误。

#include <iostream>
using namespace std;
int main() {
    bool quit = false; // Flag for quitting
    while(quit == false) {
        cout << "Select a, b, c or q to quit: ";
        char response;
        cin >> response;
        switch(response) {
        case 'a' :
            cout << "you chose 'a'" << endl;
            break;
        case 'b' :
            cout << "you chose 'b'" << endl;
            break;
        case 'c' :
            cout << "you chose 'c'" << endl;
            break;
        case 'q' :
            cout << "quitting menu" << endl;
            quit = true;
            break;
        default :
            cout << "Please use a,b,c or q!" << endl;
        }
    }
} ///:~

错误显示在默认指令:“expected expression”。

1 个答案:

答案 0 :(得分:0)

我解决了这个问题,但我不明白它的根源。 假设Eckel关于QT sdk的书中复制的代码没有给出任何错误,我试图删除第一个闭合花括号之前的一些空格,因此我在Xcode平台上也获得了构建/运行成功。这不奇怪吗? Boh对SW的痴迷。