Compilerfehler C2001

Neue Zeile in Konstanter

Eine Zeichenfolgenkonstante kann nicht in einer zweiten Zeile fortgesetzt werden, es sei denn, Sie gehen wie folgt vor:

  • Beenden Sie die erste Zeile mit einem umgekehrten Schrägstrich.

  • Schließen Sie die Zeichenfolge in der ersten Zeile mit einem doppelten Anführungszeichen, und öffnen Sie die Zeichenfolge in der nächsten Zeile mit einem anderen doppelten Anführungszeichen.

Das Beenden der ersten Zeile mit \n reicht nicht aus.

Beispiele

Im folgenden Beispiel wird C2001 generiert:

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

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

Leerzeichen am Anfang der nächsten Zeile nach einem Zeilenfortsetzungszeichen sind in der Zeichenfolgenkonstante enthalten. Keines der oben gezeigten Beispiele bettet ein Neuzeilenzeichen in die Zeichenfolgenkonstante ein. Sie können wie hier gezeigt ein Neuzeilenzeichen einbetten:

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