Wire requestFrom compiler problem

I have a simple code example that produces error

#include <Wire.h>
byte     KeypadAddress     = 0x20;         // Only used if available        

void setup() {
  // put your setup code here, to run once:
Wire.begin();
}

void loop() {
  // put your main code here, to run repeatedly:
Wire.requestFrom(KeypadAddress, 1);
}

Gives this error message:

sketch_mar05b.ino: In function 'void loop()':
sketch_mar05b.ino:11: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire/Wire.h:58: note: candidate 1: uint8_t TwoWire::requestFrom(int, int)
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire/Wire.h:56: note: candidate 2: uint8_t TwoWire::requestFrom(uint8_t, uint8_t)

If i change in loop keypadAddress in 0x20 the sketch compiles with no error.
Anny suggestions?

Two ways out , make KeypadAddress an int or cast 1 to byte ie (byte)1

Mark

Hi M<ark,

What i don't understand is the fact that i used this for the I2C RTC1307 and the I@C serial as wel and that works fine.

Harry