2011-01-26 70 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 
    

    請注意您從網站上覆制的代碼,可能是博客文章。作者可能已經使用了一個文字處理器,一個實現「聰明報價」的文字處理器。如果仔細觀察第一行和第二行,您將看到不同之處。你的編譯器只會喜歡直的雙引號。

    它不能很好地解釋你的問題與即時窗口,它工作時,我嘗試你的字符串如圖所示。也許它看起來不太像。