おそらく私は錆びてきています(最近Pythonで書いています)。
なぜこれがコンパイルされないのですか?
if ( (int i=f()) == 0)
()
周りがなければ、int i=f()
私は別の、はるかに合理的なエラーi
がブール値ではないことを取得します。でも、そもそもかっこが欲しかったのです!
私の推測では、括弧を使用すると式になり、式で宣言ステートメントを使用することはできません。そうですか?もしそうなら、それはC ++の構文の癖の1つですか?
ところで、私は実際にこれをやろうとしていました:
if ( (Mymap::iterator it = m.find(name)) != m.end())
return it->second;