【发布时间】:2010-04-20 19:09:53
【问题描述】:
不知道为什么我会收到此错误。我有以下内容:
int* arr = new int[25];
int* foo(){
int* i;
cout << "Enter an integer:";
cin >> *i;
return i;
}
void test(int** myInt){
*myInt = foo();
}
This call here is where I get the error:
test(arr[0]); //here i get invalid conversion from int to int**
【问题讨论】:
-
这不是编译错误的根源,但您在 'foo()' 中有一个逻辑错误 - 您声明了一个指针但从未初始化它。当您执行该功能时,它(很可能)会崩溃。
-
希望它会崩溃。它可能不会,这会更糟。未初始化的指针 == baaaaad.
-
我去掉了关于函数指针和成员指针的标签;你的问题只是关于数据指针。