#include <iostream>
using namespace std;
void func(unsigned int a)
{
cout << "unsigned\n";
}
void func(int a)
{
cout << "signed\n";
}
int main()
{
func(5);
return 0;
}5 будет являться числовым литералом с типом int.5u, то тип бы уже был unsigned int. А если бы ты написал 5lu, то тип бы уже был unsigned long int.