It compiles, links and runs without error.
test.c
#include "foo.h"
int main()
{
foo(4);
foo();
foo("cheese");
foo("cheese", 8);
}
foo.h
#ifndef FOO_H
#define FOO_H
int foo();
#endif
foo.c
#include <stdio.h>
#include "foo.h"
int foo(int a)
{
printf("Hello\n");
}
Compiled with gcc test.c foo.c