Compilerfehler C2001

 

Veröffentlicht: Juli 2016

Die neueste Dokumentation zu Visual Studio 2017 RC finden Sie unter Visual Studio 2017 RC Documentation (Dokumentation zu Visual Studio 2017 RC).

Zeilenvorschub in Konstante.

Eine Zeichenfolgenkonstante kann nicht in einer zweiten Zeile fortgesetzt werden, wenn Sie die folgenden Schritte ausführen:

  • 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 weiteren doppelten Anführungszeichen.

Beenden die erste Zeile mit \n ist nicht ausreichend.

Im folgende 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 die Zeichenfolgenkonstante enthalten. Keines der oben aufgeführten Beispiele einbetten eine Zeilenendemarke in die Zeichenfolgenkonstante. Sie können ein Zeilenumbruchzeichen einbetten, wie hier gezeigt:

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

Anzeigen: