代码如下:
#include<stdio.h>
#include<stdlib.h>
#define STACK_INIT_SIZE 100 // 存储空间初始分配
#define STACKINCREMENT 10 // 存储空间分配增量
typedef struct
{
char *base;
char *top;
int stacksize;
}SqStack;
void InitStack(SqStack &s)
{
//构造一个空栈s
s.base = (char*)malloc(STACK_INIT_SIZE*sizeof(char));
s.top=s.base;
s.stacksize=STACK_INIT_SIZE;
}//InitStack
编译后在“void InitStack(SqStack &s)”这行显示如下错误:
1>d:\编程\c语言数据结构\数据结构实验二\数据结构实验二\数据结构实验二.c(17): error C2143: 语法错误 : 缺少“)”(在“&”的前面)
1>d:\编程\c语言数据结构\数据结构实验二\数据结构实验二\数据结构实验二.c(17): error C2143: 语法错误 : 缺少“{”(在“&”的前面)
1>d:\编程\c语言数据结构\数据结构实验二\数据结构实验二\数据结构实验二.c(17): error C2059: 语法错误:“&”
1>d:\编程\c语言数据结构\数据结构实验二\数据结构实验二\数据结构实验二.c(17): error C2059: 语法错误:“)”
而且后边程序还提示:
1>d:\编程\c语言数据结构\数据结构实验二\数据结构实验二\数据结构实验二.c(159): warning C4013: “InitStack”未定义;假设外部返回 int
程序是哪里出错了?怎么改呢?
求高手指导!
从网上看了一种方法,“把.c改成.cpp”。
error和warning都没了。可为什么要这么改呢?
对了,这程序在vc和vs上都有这现象。求解答!