前向声明不起作用,没有类型错误

时间:2013-08-02 05:59:02

标签: forward-declaration circular-dependency

我使用前向声明但仍然得到错误:'link'没有命名类型。为什么?

struct link;

struct node
{
    link *head_link;            <------- this is the error location
    node *next_node;
};

struct link
{
    link *next_link;
    node *connect_node;
};

1 个答案:

答案 0 :(得分:0)

你声明了一个名为struct link的类型,它不只是链接,所以写:

struct node
{
    struct link *head_link;
    struct node *next_node;
};

或者,使用typedef声明一个名为link的类型。