首页 > 解决方案 > VisualStudio 2019 升级 - 使用连续字符串编译错误

问题描述

以下代码片段使用 VS2012 编译良好:

// define a common name
#define ID_BRIGHTNESS           "id_brightness"
#define ID_CONTRAST             "id_contrast"

...

// construct a XML structure

static char xmltempl[]={"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\
<param text=\"Brightness\">\
 <name>"ID_BRIGHTNESS"</name>\
</param>\
<param text=\"Contrast\">\
 <name>"ID_CONTRAST"</name>\
</param>\
...

现在,VS2019 失败并出现以下错误:

error C3680: cannot concatenate user-defined string literals with mismatched literal suffix identifiers
message : Concatenating suffix 'ID_BRIGHTNESS' with suffix 'ID_CONTRAST'

这里到底发生了什么?为什么我不能再使用这些定义了?或者更好的问题:我该怎么做才能让编译器连接这些使用静态定义的静态结构?

谢谢!

标签: c++visual-studiovisual-studio-2019

解决方案


推荐阅读