Kompilatorfel C2001

newline i konstant

Remarks

Det går inte att fortsätta en strängkonstant på en andra rad om du inte gör följande:

  • Avsluta den första raden med ett omvänt snedstreck.

  • Stäng strängen på den första raden med ett dubbelt citattecken och öppna strängen på nästa rad med ett annat dubbelt citattecken.

Det räcker inte att avsluta den första raden med \n.

Example

I följande exempel genereras C2001:

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

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

Blanksteg i början av nästa rad, efter ett radfortsättningstecken, ingår i strängkonstanten. Inget av exemplen ovan bäddar in ett nytt radtecken i strängkonstanten. Du kan infoga ett nytt radtecken som visas här:

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