2011-01-26 6 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つのエラーがありますか?
  • 即時ウィンドウとは何ですか?私はこのようなことを1年ほど前に覚えています。私は約6ヶ月前にMSVC 2008にサービスパックを適用しましたが、今までそれを大いに使っていませんでした。
  • +1

    私は直近のウィンドウについては知らないが、find_last_not_ofで本当に古くなったASCII二重引用符か、それとも異なる文字ですか? – Luke

    +0

    ありがとうございました。 :) – JimR

    答えて

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

    ウェブサイト、おそらくブログ投稿をコピーしたコードには注意してください。作者はワープロを使っているかもしれません。ワープロは "スマート引用符"を実装しています。第1行目と第2行目を注意深く見てみると、違いが分かります。あなたのコンパイラは、まっすぐ二重引用符を好むだけです。

    イミディエイトウィンドウの問題については説明していませんが、表示されているとおりに文字列を入力すると機能します。多分それはどちらかのようにも見えないかもしれません。

    +0

    あなたはHansとまったく同じでした。ありがとう。私は私の目が他の人よりも早く老化していると推測しています。私は部屋の向こう側からPCリント広告でこの種のものを見つけ出すのはずっと前から思い出しています。 – JimR