error: functions that differ only in their return type cannot be overloaded