다음 코드가 있습니다.
int *numberArray = calloc(n, sizeof(int));
그리고 다음 오류가 발생하는 이유를 이해할 수 없습니다.
Cannot initialize a variable of type 'int *' with an rvalue of type 'void *'`.
감사합니다.
컴파일러의 오류 메시지는 매우 명확합니다.
의 반환 값은 calloc
입니다 void*
. 유형의 변수에 할당합니다 int*
.
C 프로그램에서는 괜찮지 만 C ++ 프로그램에서는 괜찮습니다.
해당 라인을 다음으로 변경할 수 있습니다.
int* numberArray = (int*)calloc(n, sizeof(int));
그러나 더 나은 대안은 new
연산자를 사용하여 메모리를 할당하는 것입니다. 결국, 당신은 C ++를 사용하고 있습니다.
int* numberArray = new int[n];
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다