我有这个代码,我运行它并得到他的错误:
错误:数组类型有不完整的元素类型
和我试着解决它,探索同样的错误但失败
#ifndef GLOBAL_H
#define GLOBAL_H
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <getopt.h>
//list of CONSTANTS
#define BSIZE 128
#define NONE -1
#define EOS ' '
#define NUM 256
#define DIV 257
#define MOD 258
#define ID 259
#define DONE 260
//list of prototype function
void init();
int lexan();
int lookup(char s[]);
int insert(char s[], int tok);
void emit(int t,int tval);
void parse();
void expr();
void term();
void factor();
void match(int t);
void error(char* m);
//list of variables
FILE *input, *output, *err;
int tokenval;
int lineno;
int lookahead;
extern struct entry symtable[];
struct entry {
char *lexptr;
int token;
};
#endif
在这一行我得到了错误:
extern struct entry symtable[];
这是(global.h)和其他文件没有得到错误的代码
移动在第一次使用之前放置的结构项定义
struct entry {
char *lexptr;
int token;
};
extern struct entry symtable[];