0
왜이 오류가 발생하는지 잘 모르겠습니다. 나는 다음과 같습니다int에서 int 로의 변환이 잘못되었습니다. ** C++
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. –
함수 포인터와 멤버 포인터에 대한 태그를 제거했습니다. 귀하의 질문은 데이터 포인터에 관한 것입니다. –