在struct类型之后声明的变量中的变量重定义

时间:2016-05-07 18:43:38

标签: c visual-c++ struct

我正在编写一个简单的程序,并且必须编写以下结构(进入我的" node.h"文件):

#ifndef NODE_H
#define NODE_H

struct _noh
{
    int peso;
    int altura;
    struct  _noh* filho[2];
} base = { 0, 0 ,{ &base, &base } }, *nnil = &base;

typedef struct _noh noh;

noh* novonoh(int valor);

#endif

当我添加" node.h"我已经将node.h文件添加到我的node.c文件中并执行了 novonoh(int valor)函数。将文件存入我的main.c文件,我收到了这个错误:

  

1> main.obj:错误LNK2005:_base已在node.obj中定义

     

1> main.obj:错误LNK2005:_nnil已在node.obj中定义

获取此错误的代码有什么问题?

我如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

我解决了这个问题,只是从标题中删除了base和nnil变量。