#include <iostream>

template <unsigned int N> void foo(char const (&)[N]) {}
void foo(char const *) { std::cout << "Foo\n"; }

int main()
{
	char const * const a = "Hello";
	char const b[] = "World";
	
	foo(a);
	foo(b);
	foo(static_cast<char const (&)[6]>(b));
}