过去几个小时我一直在使用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
我的问题是:
答案 0 :(得分:3)
size_t endpos = str.find_last_not_of( L”\\/” ); // no
size_t endpos = str.find_last_not_of( L"\\/" ); // yes
谨防您从网站上复制的代码,也许是博文。作者可能使用了一个文字处理器,一个实现“智能引号”的文字处理器。如果你仔细观察第一行和第二行,你会看到差异。你的编译器只会喜欢直接的双引号。
它没有完全解释你的立即窗口的问题,它在我尝试你的字符串时工作,如图所示。也许它看起来不太像。