不能返回局部变量的引用!!
1. 函数返回值签名里面有&
vector& returnVec() {
vector v = {1, 2, 3}; // [Warning] reference to local
variable 'v' returned [-Wreturn-local-addr]
return v;
}
2. 基本类型也一样
int& add(int a, int b) {
int c = a + b;
return c;
}
3. 返回指针类型,局部变量的&不可以, new的是可以的。
int* returnArr() { // warning!!!,
int a[2] = {1, 2}; // local-addr
int* n = new int[2];// ok
return a; // local-addr
}
1. 函数返回值签名里面有&
vector& returnVec() {
vector v = {1, 2, 3};
return v;
}
2.
int& add(int a, int b) {
}
3.
int* returnArr() { // warning!!!,
int a[2] = {1, 2}; // local-addr
return a; // local-addr
}
