Udostępnij za pomocą


Błąd kompilatora C2001

newline w stałej

Remarks

Stałej ciągu nie można kontynuować w drugim wierszu, chyba że wykonasz następujące czynności:

  • Kończ pierwszy wiersz ukośnikiem odwrotnym.

  • Zamknij ciąg w pierwszym wierszu z podwójnym cudzysłowem i otwórz ciąg w następnym wierszu z innym podwójnym cudzysłowem.

Zakończenie pierwszego wiersza z \n nie jest wystarczające.

Example

Poniższy przykład generuje kod C2001:

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

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

Spacje na początku następnego wiersza po znaku kontynuacji wiersza są zawarte w stałej ciągu. Żaden z przykładów przedstawionych powyżej nie osadza znaku nowego wiersza w stałej ciągu. Znak nowego wiersza można osadzić, jak pokazano tutaj:

// 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");
}