在用c实现栈的时候出现了这个问题。
1>------ 已启动生成: 项目: 3. 栈, 配置: Debug Win32 ------
1> mian.c
1>d:\c++\day9链表的增删改查及常用数据结构\3. 栈\mian.c(2): error C2085: “main”: 不在形参表中
1>d:\c++\day9链表的增删改查及常用数据结构\3. 栈\mian.c(2): error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1> func.c
1>d:\c++\day9链表的增删改查及常用数据结构\3. 栈\func.c(3): error C2082: 形参“init_stack”的重定义
1>d:\c++\day9链表的增删改查及常用数据结构\3. 栈\func.c(3): error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1>d:\c++\day9链表的增删改查及常用数据结构\3. 栈\func.c(18): error C2084: 函数“void stack_print(pStack)”已有主体
1> d:\c++\day9链表的增删改查及常用数据结构\3. 栈\func.h(18) : 参见“stack_print”的前一个定义
根本原因是因为在.h的声明文件中缺少了一个分号
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct tag{
int val;
struct tag *pNext;
}Node,*pNode;
typedef struct tagstack{
pNode phead;
int size;
}Stack,*pStack;
void init_stack(pStack stack);
void pop(pStack stack);
void push(pStack stack,int val);
void stack_print(pStack pstack)