#include <iostream>
// .h
class A {
public:
void load();
private:
struct B {int i = 1;};
};
// .cc
template<typename C>
void foo(C c) {
std::cout << c.i << std::endl;
std::cout << "YEAH!" << std::endl;
}
void A::load() {
foo(B());
}
int main() {
A a;
a.load();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKLy8gLmgKY2xhc3MgQSB7CnB1YmxpYzoKICB2b2lkIGxvYWQoKTsKCnByaXZhdGU6CiAgc3RydWN0IEIge2ludCBpID0gMTt9Owp9OwoKLy8gLmNjCnRlbXBsYXRlPHR5cGVuYW1lIEM+CnZvaWQgZm9vKEMgYykgewogICAgc3RkOjpjb3V0IDw8IGMuaSA8PCBzdGQ6OmVuZGw7CglzdGQ6OmNvdXQgPDwgIllFQUghIiA8PCBzdGQ6OmVuZGw7Cn0KCnZvaWQgQTo6bG9hZCgpIHsKCWZvbyhCKCkpOwp9CgppbnQgbWFpbigpIHsKCUEgYTsKCWEubG9hZCgpOwoJCglyZXR1cm4gMDsKfQ==