我正在尝试制作一个压缩和解压缩文件的程序。我想为操作类型制作一个这样的枚举: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
类型)和operation
以及huffman.c
中表示main.c
。
我做错了什么?
感谢。
答案 0 :(得分:2)
假设问题中的.h文件被称为&#39; huffman.h&#39;,请将其更改为以下内容:
#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_ */