The return types are not part of the function signature in C ++ (therefore, you cannot overload functions with just the return type). So this is normal, because your remote function will still be found while searching for the name. Perhaps you may have compiler warnings, depending on your version / compiler settings.