1) Your compiler should throw an error message at you for not matching the formal prototype, or if both header and implementation are wrong, it depends on whether the types that are going to be copied are even copyable. If they aren't copyable, the compiler should yell at you again, but if they are copyable, they'll be copied.
2)
1 2 3 4 5 6
int function( )
{
int value = 35;
return value + 5; // <-- Return 40
value += 10; // <-- Dead Code, never executed
}