在C,我有这个问题,我研究了与这个专题有关的其他问题,但确实无法找到答案。
我有第一个标题,即:
#ifndef MapTest_vertex_h
#define MapTest_vertex_h
#include "edgelist.h" //includes edgelist because it s needed
typedef struct
{
char* name;
float x, y;
edgelist* edges;
} vertex;
#endif
第二个组成部分是斜线上列的顶点。
#ifndef edgelist_h
#define edgelist_h
#include "edge.h" //include edge, because its needed
typedef struct _edgelist
{
edge** edges;
int capacity, size;
} edgelist;
//...
#endif
接着,最后一点,即问题产生的地方,前面的边际结构也包含在内。
#ifndef MapTest_edge_h
#define MapTest_edge_h
#include "vertex.h" //needs to be included because it will be unkown otherwise
typedef struct
{
float weight;
vertex* destination;
int found;
} edge;
#endif
我曾尝试过我可以做的一切,然后使用<条码>第ifndef,#define
宣布。 等等,但找不到答案。
我如何解决这一循环依赖问题?