当我使用Code :: Blocks运行以下程序时,输出为
1 2 3
8129912 -1 3
当我使用ideone尝试时,我得到一个未指定的运行时错误。
我希望它能打印
1 2 3
1 2 3
有人可以解释为什么string
参数有所作为吗?
int* foo() {
int a[3] {1, 2, 3};
return a;
}
int* bar(string x) {
int a[3] {1, 2, 3};
return a;
}
int main() {
int *p = foo();
cout << p[0] << " " << p[1] << " " << p[2] << endl;
int *q = bar("X");
cout << q[0] << " " << q[1] << " " << q[2] << endl;
return 0;
}