#include <iostream>

struct X { void f() { std::cout << "hello\n"; } };

void f(X* p) { p->f(); }

struct Y : private X { void g() { ::f(this); }};

int main()
{
	Y y;
	y.g();
}