MSVC 2008立即窗口废话和一些代码混淆

时间:2011-01-26 15:49:07

标签: c++ windows visual-c++

过去几个小时我一直在使用MSVC 2008眼前的窗口,我对自己和微软都感到惊讶......我睡觉时偶然发现这个谜团可能无济于事现在已经6几个小时以后。 :)

请参阅以下内容:

? "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 个答案:

    答案 0 :(得分:3)

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

    谨防您从网站上复制的代码,也许是博文。作者可能使用了一个文字处理器,一个实现“智能引号”的文字处理器。如果你仔细观察第一行和第二行,你会看到差异。你的编译器只会喜欢直接的双引号。

    它没有完全解释你的立即窗口的问题,它在我尝试你的字符串时工作,如图所示。也许它看起来不太像。