#include <iostream>

struct S { int n; };
struct X { X(int) {} };
void foo(void*)
{ std::cout << "void*\n"; }
void foo(X x)
{ std::cout << "X\n"; }
int main()
{
  foo(S().n);
}