void load(int *n, double *x, double **arr, bool randomize)
{
*arr = (double*)malloc((*n + 1) * sizeof(double));
srand(time(NULL));
for(int i = 0; i <= *n; i++)
{
if(! randomize)
{
scanf("%lf", *arr + i);
}
else
{
*(arr + i) = rand();
}
}
}
randomize
매개 변수를 기준으로 임의의 또는 사용자 정의 이중 숫자로 배열을 채 웁니다. 이 코드는 컴파일되지 않지만 else 섹션에 "invalid conversion from int to double"
이 표시됩니다.double을 double로 변환 할 수 없습니다.
rand()
을 5.0과 같은 임의의 부동 소수점 값으로 바꾸면 "이중에서 이중으로 변환 할 수 없음"이 대신 표시됩니다.
(double) rand()
또는 (double) 5
유사한 오류가 발생합니다.
*n
이 물론 이전에이 기능에서 읽었으므로 여기서는 잘랐습니다.
무엇이 잘못 될 수 있습니까?
어, C에서 포인터와 참조를 배우는 것이 매우 쿵푸 * 요리하는 어려운 ;-) 감사합니다! – user2251921
@ user2251921 : 안녕하십니까. BTW, C의 참조는 쉽습니다 - 어떤 것도 없습니다! ;-) – NPE