コンパイラ エラー 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