当前获取此错误:
.forEach(day => {
我一直在尝试弄乱这个字符串,但是当我尝试编译时似乎无法通过它。
代码:
.forEach((day) => {
试图使其编译以显示车辆清单的输出,但是在此部分上遇到了一些麻烦,该输出显然目前不会由于此错误而编译。 (显然这不是完整的代码)
答案 0 :(得分:3)
您试图在pos
语句内使用声明和初始化 if
的语法:
if (const size_t pos = name.find(prefix)); pos != string::npos)
仅在C ++ 17和更高版本中有效。另外,您需要删除)
之前有一个错误的;
,正确的语句是:
if (const size_t pos = name.find(prefix); pos != string::npos)
对于早期版本的C ++,您需要将pos
的声明与if
语句分开:
const size_t pos = name.find(prefix);
if (pos != string::npos)
或者,您可以在pos
语句中执行if
的赋值,而不必执行声明,但是语法略有不同:
size_t pos;
if ((pos = name.find(prefix)) != string::npos)
答案 1 :(得分:2)
如果我正确理解了您的代码,则可能是您要执行的操作:
size_t pos = name.find(prefix);
if(pos != string::npos)
name.erase(pos, length);
答案 2 :(得分:0)
在if之后直接输入分号。因此出现了第二次pos,它不在if块中,这是pos在范围内的唯一位置。