升压 C++宏参数计数错误
在下面的代码中:
BOOST_FOREACH(std::pair<PID, bool> &itval, completedEs_) {
allCompleted &= it->second;
}
我收到此错误:
错误:宏“BOOST_FOREACH”传递了 3 参数,但只需要 2
,我只传递 2 个参数,这是怎么回事?
In the following piece of code:
BOOST_FOREACH(std::pair<PID, bool> &itval, completedEs_) {
allCompleted &= it->second;
}
I'm getting this error:
error: macro "BOOST_FOREACH" passed 3
arguments, but takes just 2
I'm only passing 2 arguments, what's going on?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
第一个类型被解析为两个参数,因为它包含一个逗号。
作为解决方法,您可以 typedef 类型:
The first type is being parsed as two arguments since it contains a comma.
As a workaround you could typedef the type:
由于 BOOST_FOREACH 宏限制,您不能这样做,请像下面这样重写:
You can't do that because of BOOST_FOREACH macro limitations, rewrite it like: