Поделиться через


Ошибка компилятора C2017

недопустимая последовательность escape-адресов

Escape-последовательность, например \t, отображается вне символьной или строковой константы.

Следующий пример приводит к возникновению ошибки C2017:

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

C2017 может возникать, когда оператор stringize используется со строками, включающими escape-последовательности.

Следующий пример приводит к возникновению ошибки C2017:

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