Nullptr
#include <iostream>

void foo(int i)
{
	std::cout<<"Integer foo: ";
	std::cout<<i<<std::endl;
}

void foo(char *c)
{
	std::cout<<"Pointer foo: ";
	std::cout<<c<<std::endl;
}

int main(int argc, char *argv[])
{
	char *pc = nullptr;
	int *pi = nullptr;
	//bool b = nullptr;//false

	//int i = nullptr;//error

	char c[] = "Hello";
	foo(c);

	foo(nullptr);//pointer foo is called, instead of integer foo

	return 0;
}