c++ - Intellisense 期望 ';' 带有多行字符串文字

标签 c++ visual-studio-2013 stringstream stdstring string-literals

我正在尝试为我的程序创建一个 Linux 手册页。我正在使用 getopt 来解析几个命令行参数和标志,其中之一可能是“h”,它应该打印手册页然后退出。

我在 VS 2013 中编程,这个烦人的小错误不会消失。根据智能感知,在表示“-c, --container\n”的行上应该有一个分号。根据我对多行字符串文字的理解,您只需在要放入 std::string 的文本正文之后放置一个分号,这就是为什么这特别令人沮丧。

下面是我的代码:

case 'h':{
        string out;
        out = "NAME\n"
            "\tblah.\n"
            "SYNOPSIS\n"
            "\tmore text\n"
            "\tprogram (­-h | ­­--help)"
            "DESCRIPTION\n"
            "\ttext text text\n"
            "\tAI. mpre text\n"
            "\ttext\n"
            "\ttext.\n"
            "OPTIONS\n"
            "-h, --­­help\n"
            "\tPrint this help screen and exit.\n"
            ­"-c, --­­container\n"
            "\ttext\n"
            "\ttext\n"
            ­"text\n"
            "\ttext.\n"
            ­"-v, --­­verbose N\n"
            "\tdescriptions\n"
            "\tstatistics.\n"
            ­"-d, --­­debug\n"
            "\ttext\n";
        ss << out;
        cout << ss.str();
        cout.flush();
        exit(0);
        break;
    }

如何解决这个特别烦人的错误?提前致谢。

最佳答案

当我复制并粘贴您的源代码时,我得到了一些奇怪的不可打印字符,包括 "-c, --container\n" 行中的一些字符。它们似乎是 UTF-8 编码的 SOFT HYPHEN 字符(UTF-8 编码可能是您将代码复制并粘贴到 Web 浏览器的方式的产物)。过滤掉那些,你应该没问题。

关于c++ - Intellisense 期望 ';' 带有多行字符串文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22334321/

相关文章:

c++ - VS2013 C++ C1001 错误与 std::tuple_cat

c# - 来自 NuGet 的 Unity Bootstrapper 在 App_Start 上抛出错误

c# - IntelliSense 不在 DataSet.Tables[] 上显示数组索引器

c++ - 尝试使用 vector<ostringstream> 时出现编译错误

c++ - 这个右移是如何工作的 : stringstream >> unsigned int >> unsigned int?

c++ - 在 C++ 中将字符串拆分为两个分隔符

c++ - 3个顶点之间的角度

c++ - OpenCV 中的 VideoReader 已弃用。是否有来自 OpenCV 的任何更新或任何替代?

c++ - 使用指针成员对结构进行类型转换

c++ - EXC_BAD_ACCESS 在字符串流对象上使用 <<