2012-09-06 54 views
10

我無法使用/ * * /在XCode編輯器中註釋並編譯以下代碼行。我提煉這個例子倒在XPath查詢使用更復雜的字符串:爲什麼我不能註釋掉這個字符串?

字符串本身似乎罰款:

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

不會編譯對我來說:

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

的XCode 4.4。如果有人能證實我不愚蠢,我會提交一份雷達。

編輯:很高興看到,SO語法高亮也表現出這個問題...

編輯:沒關係,我提交了一份bug報告與蘋果。謝謝。

編輯:Per Rob的答案在下面,這不是一個bug :)感謝你解釋它,Rob;現在完全有意義。

+0

有趣的是,\ \字符串中的字符似乎可以解決它,但這不完全是一個解決方案......這是一種痛苦。 –

+0

突出顯示中斷的語法對我來說並不奇怪。編譯器扼殺它對我來說是令人驚訝的。我猜語法高亮顯示器必須共享編譯器前端... – TomSwift

+0

我認爲rob mayoff是正確的,所以我刪除了我以前的評論。 – JWWalker

回答

7

這不是一個編譯器錯誤。雙引號字符"在註釋中沒有特別的含義,所以預處理器不會關注它。只要看到*/字符,預處理器就會立即結束註釋。

註釋掉一段代碼的最好方法是在每行的開頭加上//。 A //評論在下一個換行符結束。 Xcode有一個菜單命令(快捷方式:⌘/),通過在每行的開始處插入或刪除//來評論或取消註釋所選行。

+0

甚至還有一個鍵盤快捷鍵 - 突出顯示塊的命令斜槓。 –

+0

感謝您的解釋! – TomSwift

+0

@BenZotto我寫我的時候在iPad上,所以我不確定快捷方式。感謝您的提醒。 –

0

它檢測並結束評論@"//*//";我不知道任何允許嵌套註釋的編輯器(我知道這不是你正在做的事情,但同樣的問題)。注意SO上的語法高亮顯示器如何擰緊。

相關問題