4

私は現在、「C++ で問題を解決する」(第 9 回、W. Savitch) から C++ を学んでいます。この本は、while ループの例を示しています。while ループは次のようになります。

while (ans = = 'Y' || ans = = 'y')
{
    //compound statement
}

ansタイプcharです。ブール式は等値演算子を使用しようとしているように見えますが、//compound statementthis のコンテキストでは理にかなっています。しかし、等価演算子内では空白は違法であると常に考えていました。つまり==、合法ですが、= =違法です。

コードをコピーしてコンパイルすると= =、変数に式を代入しようとしているかのようにヒットすると、コンパイラが「expected expression」というエラーをスローします。私はこれが本の中のタイプミスであることをほぼ確信しています。ただし、本が変化球を投げようとしている場合に備えて、私は尋ねようと思いました...

どうもありがとう!

4

1 に答える 1

3

C++で等値演算子の2つの=の間の空白は合法ですか?

No.= =は 2=トークンです。==1==トークンです。後者を意味する場合、前者を使用することはできません。

于 2015-02-08T04:15:23.990 に答える