2011-01-26 76 views
0

过去几个小时我一直在MSVC 2008立即窗口愚弄,我对自己和微软都大吃一惊......这可能无助于我绊倒就在这个神秘的时刻,现在是6个小时之后。 :)MSVC 2008立即窗口废话和一些代码混淆

请参阅以下内容:

 
? "1234567\\87654321\\" 
CXX0026: Error: bad format string 

我试图在即时窗口上面的几种方式和什么都没有。没有任何反斜杠可以消除错误。去除反斜杠是解决它的唯一方法。

表达式计算器在宽字符串中是否有反对双反斜杠的内容?

对于它的价值,立即窗口嘴硬被激发了以下内容:
107线是:
size_t endpos = str.find_last_not_of(L”\\/”);

file.cpp(107) : error C2017: illegal escape sequence
file.cpp(107) : error C2017: illegal escape sequence
file.cpp(107) : error C2065: 'L”' : undeclared identifier
file.cpp(107) : error C2065: '”' : undeclared identifier

我的问题是:

  • 怎么了有107行的4个错误?
  • 怎么了直接窗口?我记得大约一年前在那里工作的那种东西。我大约6个月前将一个服务包应用于MSVC 2008,但直到现在我还没有使用它。
  • +1

    我不知道直接窗口,但那些find_last_not_of真的很古老的ASCII双引号或他们是不同的字符? – Luke 2011-01-26 15:58:30

    +0

    感谢卢克,你是第一个正确的。 :) – JimR 2011-01-26 16:20:04

    回答

    3
    size_t endpos = str.find_last_not_of(L”\\/”); // no 
    size_t endpos = str.find_last_not_of(L"\\/"); // yes 
    

    请注意您从网站上复制的代码,可能是博客文章。作者可能已经使用了一个文字处理器,一个实现“聪明报价”的文字处理器。如果仔细观察第一行和第二行,您将看到不同之处。你的编译器只会喜欢直的双引号。

    它不能很好地解释你的问题与即时窗口,它工作时,我尝试你的字符串如图所示。也许它看起来不太像。