【发布时间】:2012-05-10 01:10:05
【问题描述】:
我遇到了关于 C++ 中指针的问题。代码是:
int * initArray() {
int a [2];
a[0] = 1;
a[1] = 2;
return a;
}
int main () {
int * b = initArray();
cout << b << "---" << *(b) << endl;
cout << b + 1<< "---" << *(b + 1) << endl;
}
输出是
0021FC20---1
0021FC24---1431629120
您可以看到该值是错误的。
当我尝试将init 数组代码放入主函数时,它运行正常。
你能说出我的代码有什么问题吗?
【问题讨论】:
-
由于您使用的是 C++,因此只需使用
std::vector。
标签: c++ function pointers return