I have 2 header files. My code is similar to the following:
file1.h
#include "file2.h"
struct foo{
   int one;
};
//compiles if I add the following line.
//struct bar;
void dosomething(bar* param);
foo* dosomething1();
file2.h
#include "file1.h"
struct bar{
   int two;
   struct foo* two;
};
//also error in compilation time unless I add the following
//struct foo;
void dostuff(foo* param);
Why is it yielding does not name a type "bar" error in file1.h. I thought by including file2.h, bar* would be defined just like foo* and vice versa.
