2012-09-06 55 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上的语法高亮显示器如何拧紧。

相关问题