【发布时间】:2018-07-16 03:52:55
【问题描述】:
我只想做一些初步检查,并在必要时快速返回 {-1, -1} 向量。不知何故,编译器说:我应该将返回类型更改为向量 *
但在我执行此预检查代码之前,当前的返回类型适用于我后面的部分。那么我误解了什么?
class SomeClass {
public:
static vector<int> solution(vector<int>& numbers, int target) {
if (numbers.empty() || numbers.size() < 2) {
return new vector<int> {-1, -1}; // <== Compile Error
}
unordered_map<int, int> hash;
vector<int> result;
.
.
.
return result;
}
};
int main() {
vector<int> testNums = {11, 15, 2, 7};
vector<int> result = SomeClass::solution(testNums, 9);
return 0;
}
【问题讨论】:
-
删除关键字
new -
还有
vector <int>- 编译器会自己解决这个问题。