【发布时间】:2015-05-17 11:04:12
【问题描述】:
这是我正在处理的一段代码中的一个问题。 基本上,我正在尝试编译我的代码,但我不断收到错误消息:“Top”的多重定义,指向我的 stack.c 文件(包含函数的文件),“第一次定义在这里”指向我的 main .c 文件。通过阅读其他具有相似名称的问题,它似乎与包含有关。 这是头文件:
#ifndef STACK_H
#define STACK_H
#define MAXSIZE 10
struct stekas{
int content;
struct stekas *link;
}*top = NULL;
void push(void);
void pop(void);
void display(void);
void help(void);
#endif // STACK_H_INCLUDED
stack.c 和 main.c 文件都有完全相同的#includes 和#defines:
#include <stdio.h>
#include <stdlib.h>
#include "stack.h"
#define MAXSIZE 10
请注意,“top”在 main.c 中没有一次被提及。同样,如果需要,我可以发布 stack.c 文件的整个代码。
【问题讨论】:
标签: c