分享方式:


編譯器錯誤 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");
}