0x00
can be interpreted as both an integer literal or a pointer literal. The compiler doesn't know which you mean, as you have overloads for both.
So change that line to:
Roomba.write((byte)0x00);
or the slightly more verbose C++-style cast:
Roomba.write(static_cast<byte>(0x00));