Ошибка необъявленный идентификатор
Подскажите пожалуйста, как обойти вот такую проблемку:
#include <iostream>
#include "my_main_struct.h"
int main()
{
my_main_struct my_main_struct_;
}
my_main_struct.h:
#include <iostream>
#include "my_callback.h"
struct my_sub_struct
{
void (*my_callback_func) (my_main_struct* my_main_struct_p) = my_callback_1;
};
struct my_main_struct
{
my_sub_struct my_sub_struct_;
};
my_callback.h:
#include <iostream>
#include "my_main_struct.h"
void my_callback_1(struct my_main_struct* my_main_struct_p)
{
my_sub_struct* my_sub_struct_p = 0; //Ошибка: my_sub_struct - необъявленный идентификатор
std::cout << "say hello";
}
То есть почему то сообщается об ошибке - необъявленный идентификатор my_sub_struct в определении функции my_callback_1.
Но не могу понять почему ?