1 stray ‘\’ in program
在C/C++中,出现这个错误,第一时间会认为是在程序中输入了中文字符,因此只需要将中文字符修改即可。不错,这是正确的。
2 其实根源是出在转义字符上
下面是一些典型的转义字符,那么,除了规定的转义字符外,其他转义字符均是非法的,换句话说以\开头且合法的,只有规定的转义字符
当然,下面的代码是非法的,错误原因就是标题。C/C++没有定义转义字符\d
"\d"
然而,我们的本意并不是转义字符,就想表达字面值\d
,为什么会这样?比如在正则表达式中,这个代表0-9的数字。
这时候,应该修改下
"\\d"
或者
R"---(\d)---"
第二行需要C++11支持。