为什么我不能注释掉这个字符串?

时间:2012-09-06 22:29:43

标签: objective-c c xcode comments

我无法在XCode编辑器中注释掉并使用/ * * /编译以下代码行。我从XPath查询中使用的更复杂的字符串中提取了这个示例:

字符串本身似乎很好:

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

不会为我编译:

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

XCode 4.4。如果有人能证实我不是傻瓜,我会提交雷达。

编辑:很高兴看到SO语法荧光笔也出现了这个问题......

编辑:好的,我向Apple提交了一份错误报告。感谢。

编辑:根据Rob的回答,这不是错误:)感谢您的解释,Rob;完全有道理。

2 个答案:

答案 0 :(得分:7)

这不是编译器错误。双引号字符"在注释中没有特殊含义,因此预处理器不会注意它。预处理器只要在看到*/字符时就结束评论。

注释掉一段代码的最佳方法是将//放在每行的开头。 //评论会在下一个换行符处结束。 Xcode有一个菜单命令(快捷键:⌘/),它会通过在每行的开头插入或删除//来评论或取消注释所选行。

答案 1 :(得分:0)

它在@"//*//";中检测并结束评论我不知道任何允许嵌套评论的编辑器(我知道这不是你正在做的,但同样的问题)。请注意,即使语法高亮显示器上的SO也搞砸了。