que pasaría si se le envia -1 a una funcion con parametro unsigned int
Al pasar -1 como parámetro se convertirá a unsigned int, con el mismo patrón de bits.
En mi compilador (y supongo que en la mayoría que representa enteros con 32 bits) -1 como unsigned será 2^32 -1; o sea: 4294967295
Quizá es más fácil de ver (o al menos más corto) con signed y unsigned chars:
Para un signed char = -1, su representación en 8 bits es: 1111 1111 (como complemento a 2)
El mismo patrón de bits interpretado como unsigned char es: 255
Para el estándar C++ [7.8 Integral conversions] no importa si la representación interna de signed o unsigned es de esta manera (bits, complemento a 2, o lo que sea), pero ese debe ser el comportamiento.