我正在尝试制作压缩和解压缩文件的程序.我想为这种操作类型制作一个这样的枚举:typedef enum {COMPRESS,DECOMPRESS} operation;.
问题是,我得到4个错误:
Error 1 error C2365: 'COMPRESS' : redefinition; previous definition was 'enumerator'
Error 2 error C2086: 'COMPRESS' : redefinition
Error 3 error C2365: 'DECOMPRESS' : redefinition; previous definition was 'enumerator'
Error 4 error C2086: 'DECOMPRESS' : redefinition
我没有得到什么错误,因为我为布尔值创建了一个枚举,并且它工作正常:typedef enum {FALSE,TRUE} boolean;.
编辑:
我被要求添加typedef所在的整个.h文件:
#include <stdio.h>
typedef enum { COMPRESS, DECOMPRESS } operation;
void compress(FILE * file);
void compressArchive(FILE * files[]);
void decompress(FILE * file);
void decompressArchive(FILE * files[]);
并且作为n.m.我说#include“huffman.h”在另一个文件,general.h(需要操作类型)和huffman.c以及main.c中.
我做错了什么?
谢谢.
最佳答案 假设问题中的.h文件名为’huffman.h’,请将其更改为以下内容:
#ifndef __huffman_h__
#define __huffman_h__
#include <stdio.h>
typedef enum { COMPRESS, DECOMPRESS } operation;
void compress(FILE * file);
void compressArchive(FILE * files[]);
void decompress(FILE * file);
void decompressArchive(FILE * files[]);
#endif /* __huffman_h_ */