首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

结构体,该如何解决

2013-10-21 
结构体在test.h中定义typedef strcut tagTest{}Test在test.cpp中包含test.h,并Test *p NULLp (Test

结构体
在test.h中定义
typedef strcut tagTest{

}Test;
在test.cpp中包含test.h,并Test *p = NULL;
p = (Test *)malloc(sizeof(Test));
编译总是提示error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int;
大概会是什么原因呢?
[解决办法]

引用:
是我发帖的时候打错了 程序没错。。。
typedef struct tagTest{

}Test;
我试了下p = (Test *)malloc(sizeof(Test));
不能在源文件中定义全局变量后紧跟着申请内存,必须在某个函数内,这时为什么?


全局的只是申明而已!
运行程序是从main函数开始一个一个接口的顺序调用!你在全局给它分配内存,
因为是malloc动态分配内存的,在程序运行的时候才分配的,
定义全局的,怎么运行到哪里呢?
[解决办法]
“不能在源文件中定义全局变量后紧跟着申请内存”

全局scope中只能声明和定义变量,不能包含语句。
Test * p = (Test *)malloc(sizeof(Test));
必须一句搞定

热点排行