2012-12-22 46 views
0
#pragma once 
#ifndef PRIQUE_H 
#define PRIQUE_H 

typedef struct queue_node 
{ 
    int val; 
    int priority; 
    struct queue_node *link; 
} 

typedef struct p_queue 
{ 
    int size; 
    queue_node *first; 
} 

这是我的代码头文件。当我运行主程序时,出现重复typedef错误。如何解决它。最初,我将所有代码都包含在一个文件中,但是希望使用头文件可以解决我制作的问题以及相应的定义文件。请告诉我我错在哪里,为什么会出现这个问题?重复typedef错误

+5

WTB一些结束类型名称和分号; – WhozCraig

+4

你忘了'#endif'。 –

+3

'typedef struct queue_node {...} queue_node;'。 –

回答

4

弥补我的smartass评论,你错过了你的typedefs的关闭定义。即你是...... typedef什么都没有。我相信你试图做到这一点:

#pragma once 
#ifndef PRIQUE_H 
#define PRIQUE_H 

typedef struct queue_node 
{ 
    int val; 
    int priority; 
    struct queue_node *link; 
} queue_node; 

typedef struct p_queue 
{ 
    int size; 
    queue_node *first; 
} p_queue; 

#endif