/in/foo.c:6:2: error: unknown type name 'Node'
Node* next;
^~~~
/in/foo.c:9:13: error: unknown type name 'Node'
void Output(Node* head)
^~~~
/in/foo.c:16:1: error: unknown type name 'Node'
Node* InsertHead(Node* head, int x)
^~~~
/in/foo.c:16:1: note: use 'struct' keyword to refer to the type
/in/foo.c:16:18: error: unknown type name 'Node'
Node* InsertHead(Node* head, int x)
^~~~
/in/foo.c:26:1: error: unknown type name 'Node'
Node* RemoveHead(Node* head)
^~~~
/in/foo.c:26:1: note: use 'struct' keyword to refer to the type
/in/foo.c:26:18: error: unknown type name 'Node'
Node* RemoveHead(Node* head)
^~~~
/in/foo.c:38:1: error: unknown type name 'Node'
Node* Create(int a[], int n)
^~~~
/in/foo.c:38:1: note: use 'struct' keyword to refer to the type
/in/foo.c: In function 'Create':
/in/foo.c:40:2: error: unknown type name 'Node'
Node* head = NULL;
^~~~
/in/foo.c:40:2: note: use 'struct' keyword to refer to the type
/in/foo.c:42:10: warning: implicit declaration of function 'InsertHead' [-Wimplicit-function-declaration]
head = InsertHead(head, a[i]);
^~~~~~~~~~
/in/foo.c:42:8: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
head = InsertHead(head, a[i]);
^
/in/foo.c: At top level:
/in/foo.c:47:1: error: unknown type name 'Node'
Node* Destroy(Node* head)
^~~~
/in/foo.c:47:1: note: use 'struct' keyword to refer to the type
/in/foo.c:47:15: error: unknown type name 'Node'
Node* Destroy(Node* head)
^~~~
/in/foo.c:55:18: error: unknown type name 'Node'
int FindMinCount(Node* head)
^~~~
/in/foo.c: In function 'main':
/in/foo.c:77:2: error: unknown type name 'Node'
Node* head1 = Create(a, n1), * head2 = Create(b, n2);
^~~~
/in/foo.c:77:2: note: use 'struct' keyword to refer to the type
/in/foo.c:78:16: warning: implicit declaration of function 'FindMinCount' [-Wimplicit-function-declaration]
int mincnt1 = FindMinCount(head1), mincnt2 = FindMinCount(head2);
^~~~~~~~~~~~
/in/foo.c:81:10: warning: implicit declaration of function 'Destroy' [-Wimplicit-function-declaration]
head1 = Destroy(head1);
^~~~~~~
/in/foo.c:81:8: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
head1 = Destroy(head1);
^
/in/foo.c:82:8: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
head2 = Destroy(head2);
^