10

XCodeエディター内で/**/を使用して次のコード行をコメントアウトしてコンパイルすることができません。この例は、XPathクエリで使用されるより複雑な文字列から抽出したものです。

文字列自体は問題ないようです。

NSString* s = @"//*//";

私のためにコンパイルされません:

/*
NSString* s = @"//*//";
*/

XCode4.4。誰かが私が愚かではないことを確認できれば、私はレーダーを提出します。

編集:SO構文ハイライトもこれに関する問題を示しているのを見てうれしいです...

編集:わかりました、私はAppleにバグレポートを提出しました。ありがとう。

編集:以下のロブの答えによると、これはバグではありません:)それを説明してくれてありがとう、ロブ。今では完全に理にかなっています。

4

2 に答える 2

7

これはコンパイラのバグではありません。二重引用符"はコメント内では特別な意味を持たないため、プリプロセッサはそれに注意を払いません。プリプロセッサは、文字を確認するとすぐにコメントを終了し*/ます。

コードのセクションをコメント アウトする最良の方法は//、各行の先頭に配置することです。コメントは次の//改行で終わります。//Xcode にはメニュー コマンド (ショートカット: ⌘<code>/) があり、各行の先頭に挿入または削除することで、選択した行をコメント化またはコメント解除します。

于 2012-09-06T23:01:57.137 に答える
0

@"//*//";ブロックコメントのネストを許可するエディターを知らないでコメントを検出して終了します(それはあなたがしていることではありませんが、同じ問題です)。SO のシンタックス ハイライターでさえ失敗することに注意してください。

于 2012-09-06T22:38:13.620 に答える