考虑以下 C++ 代码片段,该代码实现了二分查找算法,用于在一个升序整数数组中查找目标值target,找不到则返回-1。请找出代码运行中可能错误的部分。
int binarySearch(const std::vector& nums, int target) {
int left = 0, right = nums.size() - 1;
while (left <= right) {
int mid = (left + right) / 2;
if (nums[mid] == target) {
return mid; // 找到目标值,返回其索引
} else if (nums[mid] < target) {
left = mid + 1; // 继续在右半部分查找
} else {
right = mid - 1; // 继续在左半部分查找
}
}
return -1; // 未找到目标值,返回-1}