Not exactly the same, but when you get into larger types
void setup() {
Serial.begin(9600);
}
void test(uint8_t arg1) {
Serial.println(arg1);
}
void test(long arg1) {
Serial.print( "Test with long:");
test((uint8_t)arg1);
}
void loop() {
static int tempint=-50;
uint8_t temp8 = tempint;
long tempL = tempint;
test(tempint);
test(temp8);
test(tempL);
tempint+=25;
delay(1000);
}
you get
...
adaradio:19:15: error: call of overloaded 'test(int&)' is ambiguous
test(tempint);
^
C:\Users\Brian\AppData\Local\Temp\arduino_modified_sketch_960433\adaradio.ino:6:6: note: candidate: void test(uint8_t)
void test(uint8_t arg1) {
^~~~
C:\Users\Brian\AppData\Local\Temp\arduino_modified_sketch_960433\adaradio.ino:10:6: note: candidate: void test(long int)
void test(long arg1) {
^~~~
exit status 1
call of overloaded 'test(int&)' is ambiguous
[code]
I don't know the history of the IDE, but there may have been issues in the past and if you cover all the bases, the code has a better chance or working and stay working as the IDE/compiler evolves