コンパイラ エラー C2017

更新 : 2007 年 11 月

エラー メッセージ

エスケープ シーケンスの使い方が正しくありません。

\t などのエスケープ シーケンスが、文字定数または文字列定数の外側にあります。

次の例では C2017 エラーが生成されます。

// C2017.cpp
int main() {
   char test1='a'\n;   // C2017
   char test2='a\n';   // ok
}

C2017 警告は、文字列化演算子の文字列にエスケープ シーケンスが含まれている場合に発生します。

次の例では C2017 エラーが生成されます。

// C2017b.cpp
#define TestDfn(x) AfxMessageBox(#x)
TestDfn(CString("\\") + CString(".h\"\n\n"));   // C2017