我正在尝试按以下方式打印struct
成员:
#include <iostream>
#include <boost/fusion/adapted/struct/adapt_struct.hpp>
#include <boost/fusion/include/adapt_struct.hpp>
struct Node {
int a = 4;
double b = 2.2;
};
BOOST_FUSION_ADAPT_STRUCT(Node, a, b)
int main() {
Node n;
for (auto el: n) { // What do I put instead of n here?
std::cout << el << std::endl;
}
return 0;
}
这当然是错误的,因为n
只是struct
。如何设置range for
可以使用而不是n
的序列?
答案 0 :(得分:2)
在这种情况下,您无法使用define('Online', 2);
define('Offline', 0);
if ($loggedin == Online) $color = '#008000';
if ($loggedin == Offline) $color = '#FF0000';
。它的元编程,每个成员迭代器都有自己的类型。您可以使用range-based for
或手写结构进行遍历。
fusion::for_each