Khi tôi cố gắng biên dịch một hàm với kiểu trả về bool
trong trình biên dịch GCC, trình biên dịch ném cho tôi lỗi này.Kiểu trả về boolean được cho phép trong C?
error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘comp’
Nhưng khi tôi thay đổi kiểu trả về để int
, nó là nhận được biên soạn thành công.
Chức năng như sau.
bool comp(struct node *n1,struct node *n2)
{
if(n1 == NULL || n2 == NULL)
return false;
while(n1 != NULL && n2 != NULL)
{
if(n1->data == n2->data)
{ n1=n1->link; n2=n2->link; }
else
return false;
}
return true;
}
Ở đây tôi so sánh hai danh sách được liên kết. Là kiểu trả về bool được hỗ trợ trong C hay không?
'foo' là gì ?? –
xin lỗi. Tôi đã chỉnh sửa. Kiểm tra ngay. – Vivek
Nếu cả n1 và n2 đều là NULL, có thể bạn sẽ muốn trả về giá trị true. – eyalm