call of overloaded 'print(DeviceAddress)' is ambiguous

How is the device address useful information for the client?

DeviceAddress is an array of bytes. You can't print an array just by calling print() once. You need to print each element of the array.