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


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

новая линия в константе

Константа строки не может быть продолжена во второй строке, если вы не выполните указанные ниже действия.

  • Завершите первую строку обратной косой чертой.

  • Закройте строку в первой строке двойной кавычки и откройте строку в следующей строке с другой двойной кавычки.

Завершение первой строки с \n недостаточно.

Примеры

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

// C2001.cpp
// C2001 expected
#include <stdio.h>

int main()
{
    printf_s("Hello,
             world");
    printf_s("Hello,\n
             world");
}

Пробелы в начале следующей строки после символа продолжения строки включаются в строку константы. Ни один из примеров, показанных выше, не внедряет новый символ в строку константы. Вы можете внедрить новый символ, как показано здесь:

// C2001b.cpp
#include <stdio.h>

int main()
{
    printf_s("Hello,\n\
             world");

    printf_s("Hello,\
             \nworld");

    printf_s("Hello,\n"
             "world");

    printf_s("Hello,"
             "\nworld");

    printf_s("Hello,"
             " world");

    printf_s("Hello,\
             world");
}