#include <stdio.h>
#include "prique.h"
void main()
{
_pqueue *test;
queue_init(&test);
...
我不知道为什么会收到此错误。
错误:在'{'之前预期'=',',',';','asm'或'属性' 令牌|
头文件中的结构是
typedef struct _pqueue
{
int size;
struct queue_node *first;
}_pqueue;
我已正确定义了结构。我看到一些讨论,这个错误与范围有关,但无法知道如何解决它。
答案 0 :(得分:0)
不确定这是否是问题,但有些编译器无法识别void main(),所以:
int main()
否则它可能是prique.h模块中的内容......
另外,如果您的queue_node以相同的方式定义(typedef struct queue_node {...} queue_node),那么您可能不需要struct关键字:
typedef struct _pqueue
{
int size;
queue_node *first;
} _pqueue;
答案 1 :(得分:0)
您必须知道您也可以编译* .h文件。这样做:
gcc -Wall prique.h
确保您的头文件声明都正确。
答案 2 :(得分:0)
我猜queue_node
与pqueue
相同。如果是这样的话
那么这应该解决问题。如果没有,则可能未在包含文件中定义queue_node
。
以下代码可能就是您想要的。
typedef struct pqueue {
int size;
struct pqueue *first;
} pqueue_t;
void
main()
{
pqueue_t *test;
}