2

誰かが私が間違っていることを教えてもらえますか?

#include <iostream>
using namespace std;

int main() {

#define myvar B

#if myvar == A
        cout << "A" << endl;
#elif myvar == B
        cout << "B" << endl;
#else
        cout << "Neither" << endl;
#endif
}

出力はAですが、明らかにBを期待していました

4

2 に答える 2

1

試す

int main(void) {
    #define myvar 2
    #if myvar == 1
            std::cout << "A" << std::endl;
    #elif myvar == 2
            std::cout << "B" << std::endl;
    #else
            std::cout << "Neither" << std::endl;
    #endif
    return 0;
}

詳細は以下のリンクを参照してください

http://msdn.microsoft.com/en-us/library/ew2hz0yd.aspx

于 2013-10-06T02:46:16.517 に答える