hur.cn - 华软网

 热门搜索

缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int

  作者:未知    来源:网络    更新时间:2011/4/15
VC2008下

typedef struct 
{
int index;
int xi;
poly * next;
}poly;
编译结果:
error C2143: 语法毛病 : 缺少“;”(在“*”的前面)
error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默许 int
改成:
typedef struct poly
{
int index;
int xi;
poly * next;
}poly;
编译结果:成功
再改成:
typedef struct point
{
int index;
int xi;
poly * next;
}poly;
编译结果:
error C2143: 语法毛病 : 缺少“;”(在“*”的前面)
error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默许 int
问:为什么只有在typedef struct 后接poly才能编译通过,其余情况却编译毛病。。
---华软 网友回答---
poly * next;的原因
---华软网友回复---
poly  类型需要有定义.
---华软网友回复---
1和3 poly 都没有声明就用了。
2  struct poly
---华软网友回复---
poly * next;  要先申明poly 你才能够这样用
---华软网友回复---
typedef struct  
{
int index;
int xi;
poly * next;
}poly;
这类类似结果体最好是这样写.

typedef struct  _poly
{
int index;
int xi;
struct _ploy * next;
}poly;
---华软网友回复---
typedef struct poly
{
int index;
int xi;
poly * next;
}poly;
这类情况下,第一个poly与第二个poly实质上有什么不同。
---华软网友回复---
typedef struct point
{
int index;
int xi;
point* next;
}poly;
---华软网友回复---
引用 7 楼 visualeleven 的回复:
typedef struct point
{
int index;
int xi;
point* next;
}poly;

这也就是说point是类型名,而poly是变量(typedef 的作用在point后就结束了)?
是这样理解吗?      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。