#include <iostream>
using namespace std;
struct foo
{
int a, b;
};
foo arr[3] = {foo{0, 1}, foo{0, 1}, foo{0, 1}};
void func(int foo::*member)
{
for (auto el : arr)
cout << el.*member << ' ';
}
int main() {
func(&foo::a);
cout << '\n';
func(&foo::b);
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RydWN0IGZvbwp7CglpbnQgYSwgYjsKfTsKCmZvbyBhcnJbM10gPSB7Zm9vezAsIDF9LCBmb297MCwgMX0sIGZvb3swLCAxfX07Cgp2b2lkIGZ1bmMoaW50IGZvbzo6Km1lbWJlcikKewoJZm9yIChhdXRvIGVsIDogYXJyKQoJCWNvdXQgPDwgZWwuKm1lbWJlciA8PCAnICc7Cn0KCmludCBtYWluKCkgewoJZnVuYygmZm9vOjphKTsKCWNvdXQgPDwgJ1xuJzsKCWZ1bmMoJmZvbzo6Yik7Cn0=