2
간단한 스택 코드를 작성하려고하는데이 코드를 데이터 구조 책에서 가져 오지만 컴파일하려고하면 오류가 발생합니다. 이 코드에 대한 예를 들어 Visual Studio 2010에서 C의 반환 된 형식이 잘못되었습니다.
bool pushStack (STACK* stack, void* dataInPtr)
{
STACK_NODE* newPtr;
newPtr = (STACK_NODE*) malloc(sizeof(STACK_NODE));
if(!newPtr)
return FALSE;
newPtr->dataPtr = dataInPtr;
newPtr->link = stack->top;
stack->top = newPtr;
(stack->count)++;
return TRUE;
}
는, 컴파일러는
Error 1 error C2061: syntax error : identifier 'pushStack'
Error 2 error C2059: syntax error : ';'
Error 3 error C2059: syntax error : 'type'
우리가 어떻게이 문제를 해결할 수 있다고? TRUE를 true로 변경하려고 시도했지만 작동하지 않습니다.
정말인가요? 왜냐하면 저는 데이터 구조를 사용하고 있습니다 : C, Second Edition 서적으로 Pseudocode 접근법을 사용했고 그들은 bool 유형으로 코드를 작성합니다 : S –
C99은 그렇지만 VS2010이 이것을 사용하고있을 것 같지 않습니다. 책의 저자가 가독성을 위해 의사 코드로 'bool'을 사용하고 있음을 발견했습니다. 아니면 C99에 글을 쓸 수도 있습니다. 어느 쪽이든, C에는 "원시"bool 유형이 없습니다. –
답장을 보내 주셔서 감사합니다. 코드를 편집합니다. :) –