关于C++中的错误:error C2501: 'base' : missing storage-class or type specifiers

#include<stdio.h>#include<stdlib.h>#include<malloc.h>#include<iostream.h>typedefstruc... #include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#include <iostream.h>
typedef struct Matrix{
int i;
int j;
int e;
struct Matrix *nexti;
struct Matrix *nextj;
}Matrix;
struct Matrix *p;
struct Matrix *q;
struct Matrix *base;
base=(struct Matrix *)malloc(sizeof(Matrix));

出现错误:
C:\Documents and Settings\Administrator\Desktop\实验1%2\实验1%2\魔方阵\魔方阵.cpp(19) : error C2501: 'base' : missing storage-class or type specifiers
C:\Documents and Settings\Administrator\Desktop\实验1%2\实验1%2\魔方阵\魔方阵.cpp(19) : error C2040: 'base' : 'int' differs in levels of indirection from 'struct Matrix *'
C:\Documents and Settings\Administrator\Desktop\实验1%2\实验1%2\魔方阵\魔方阵.cpp(19) : error C2440: 'initializing' : cannot convert from 'struct Matrix *' to 'int'

错误都是指向base=(struct Matrix *)malloc(sizeof(Matrix));这句的
展开
 我来答
enochwills
2010-06-29 · TA获得超过4793个赞
知道大有可为答主
回答量:2031
采纳率:96%
帮助的人:1636万
展开全部
这句话必须放到一个函数里面才能编译通过,比如放到主函数:
int main(void)
{
base = new Matrix;
...
return 0;
}
另外,我用了new,没有用malloc,因为你用的是C++,用new的结果是完全一样的,而且没那么复杂。释放的时候用delete,不要用free
明_矾
2010-06-29 · TA获得超过100个赞
知道小有建树答主
回答量:120
采纳率:0%
帮助的人:133万
展开全部
base=(struct Matrix *)malloc(sizeof(Matrix));

把这句放到main()函数中,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式