私はUnicodeでコンパイルするためのVisual C++ 2005ソリューションを手に入れています。Visual C++のUnicode文字列リテラルがエラーを出しています: 'L':宣言されていない識別子
1>.\CBitFlags.cpp(25) : error C2065: 'L' : undeclared identifier
を、問題のコード行は、次のとおりです:しかし、私のプロジェクトのいくつかでは(すべてではないが)、私はフォームにエラーを取得
LOGERROR(UTILITY, L"Tried to use object to store %d flags, when max is %d",
私は困惑しています。 Lが言語構文の一部であるときには、Lを識別子として扱っているようです。誰かが、プロジェクトで有効にする必要があるいくつかのフラグがあるかどうかを知っていますか?本当に奇妙な部分は、これがすべてではないということです。 1つのプロジェクト内で一貫しているように見えますが、私はプロジェクト全体をコンパイルしており、他は悲惨にこのように失敗しています。
LOGERRORまたはUTILITYはどのように定義されていますか? – jalf
L接頭辞はあなたにUnicode文字列リテラルを与えません。 Unicodeの文字列リテラルはC++ 11で定義されています。http://en.wikipedia.org/wiki/C%2B%2B11#New_string_literals – Verax