错误 C2143:语法错误:':'之前缺少','
error C2143: syntax error : missing ',' before ':'
我正在尝试构建AM OpenSource游戏,但是在尝试构建时会遇到此错误。我一直在搜索最后半个小时,没有任何作用,这是指向
的错误void duel::restore_assumes() {
for(auto pcard : assumes)
pcard->assume_type = 0;
assumes.clear();
}
错误是
错误1错误c2143:语法错误:丢失',' ':'c: user user desktop project source ocgcore duel.cpp 108 1 ocgcore (Visual Studio 2010)
MS VC 2010不支持C 2011中介绍的语句范围。但是它具有其自己的语言扩展:for each
。
尝试更改此代码
void duel::restore_assumes() {
for(auto pcard : assumes)
pcard->assume_type = 0;
assumes.clear();
}
to
void duel::restore_assumes() {
for each (auto pcard in assumes)
pcard->assume_type = 0;
assumes.clear();
}
否则,您可以使用对象假定的迭代器或某些标准算法使用普通循环,例如std::for_each
如下所示:C 11编译器支持
MSVC2010无法使用基于范围的循环,而是MSVC2012(版本11)。因此,如果您使用2010年编译器,此代码将不会编译。
错误消息使其很明显:编译器在语句中没有期望:
。
相关文章:
- 为什么我会收到错误 C2143 语法错误:缺少"*"之前的';'?
- 错误 C2143:语法错误:':'之前缺少','
- 编译错误 C2143:语法错误:'<'之前缺少';'
- 错误 C2143:语法错误:'<' C++之前缺少';'
- 错误 C2143:语法错误:在"*"之前缺少"{"
- 请求分号时出现令人困惑的错误(错误 C2143)
- 两个语法错误:错误 C2143 语法错误:'*'之前缺少';'
- 可变参数模板 - 错误 C2143:语法错误:'...'之前缺少','
- 错误 C2143:语法错误:':'之前缺少';'
- CS106b 库矢量.cpp错误 C2143:语法错误:'<'之前缺少';'
- 模板类引发错误 C2143:语法错误:在"<"之前缺少";"
- C++ 结构 - 错误 1 错误 C2143:语法错误:缺少'*'之前的';'
- 错误 C4430:AND 错误 C2143:语法错误:'*'之前缺少';'
- 错误 C2143:语法错误:声明指针时'*'之前缺少';'
- afxtempl.h 错误 12 错误 C2143:语法错误:缺少'}'之前的';'
- C++:错误 C2143:语法错误:'<'之前缺少';'
- 错误 C2143:语法错误:命名空间之前缺少";"
- 错误 C2143:语法错误:'if'之前缺少';'
- 错误 C2143:语法错误:在"__stdcall"之前缺少";"
- 在函数定义中指定参数默认值会导致错误 C2143:语法错误:'='之前缺少')'