#include <iostream>
void foo(int x) { std::cout << "foo(int)" << std::endl; }
void foo(int& x) { std::cout << "foo(int &)" << std::endl; }
int main()
{
int i = 42;
static_cast<void (&)(int&)>(foo)(i);
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdm9pZCBmb28oaW50IHgpICB7IHN0ZDo6Y291dCA8PCAiZm9vKGludCkiICAgPDwgc3RkOjplbmRsOyB9CnZvaWQgZm9vKGludCYgeCkgeyBzdGQ6OmNvdXQgPDwgImZvbyhpbnQgJikiIDw8IHN0ZDo6ZW5kbDsgfQoKaW50IG1haW4oKQp7CiAgICBpbnQgaSA9IDQyOwogICAgc3RhdGljX2Nhc3Q8dm9pZCAoJikoaW50Jik+KGZvbykoaSk7Cn0=