다음의 C 코드를 컴파일하면 gcc가 'newNode'가 return newNode
라인에 선언되지 않았다고 오류를 표시하지만 그 이유는 알 수 없습니다. 누구든지이 오류를 설명하거나 문제를 해결할 수 있습니까?gcc가 왜 'newNode'변수에 선언되지 않았습니까?
node *insertNode(node *first, int cases) {
int i;
int m;
int n;
for(i=1;i<=cases-1;i++) {
scanf("%d %d",&m,&n);
node *newNode = (node *)malloc(sizeof(node));
newNode->lower = m;
newNode->upper = n;
newNode->next = first;
newNode = first;
}
return newNode; }
감사합니다,
댄
왜 당신은 haskell 컴파일러를 사용하고 있습니까? : p –
malloc의 리턴을 캐스팅하지 마라. 'node * newNode = malloc (sizeof * newNode);' –
하하, 어제 밤에 C와 하스켈을 사용했는데, gcc와 ghci 사이에 혼란 스러웠을 것이다. P – kw3rti