标题:请教RECT结构体
取消只看楼主
cumtzdhlx
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2007-7-8
 问题点数:0 回复次数:2 
请教RECT结构体

为了学习贪吃蛇程序,我创建了一个MFC单文档类型,然后添加ellipse.h的头文件,里面有一个CEllipse类
class CEllipse
{
public:
CEllipse();
void SetPercentPoint();
void DrawEllipse();
int m_i,len;
RECT pt[20];
};
然后添加了一个ellipsse.cpp的源文件,代码如下
#include "stdafx.h"
#include "ellipse.h"

#define down 1
#define up 2
#define left 3
#define right 4

CEllipse::CEllipse()
{
len=4;
m_i=0;
}
void CEllipse::SetPercentPoint()
{
int k;
if(m_i>=down && m_i<=right)
{
for(k=1;k<len;k++)
{
pt[k].left=pt[k-1].left;//这一行会出现error C2059: syntax error : 'constant'
//pt[k].right=pt[k-1].right; 为了方便我把下面三行注释掉了
//pt[k].bottom=pt[k-1].bottom;
//pt[k].top=pt[k-1].top;
}
}
}
上面是一部分代码,从这个地方如果编译会出如下错误error C2059: syntax error : 'constant'
,但如果在头文件中加入一个point结构体如下
struct point
{
int x;
int y;
};
class CEllipse
{
public:
CEllipse();
void SetPercentPoint();
void DrawEllipse();
int m_i,len;
point pt[20];
};
然后添加了一个ellipsse.cpp的源文件,代码如下
#include "stdafx.h"
#include "ellipse.h"

#define down 1
#define up 2
#define left 3
#define right 4

CEllipse::CEllipse()
{
len=4;
m_i=0;
}
void CEllipse::SetPercentPoint()
{
int k;
if(m_i>=down && m_i<=right)
{
for(k=1;k<len;k++)
{
pt[k].x=pt[k-1].x; }
}
}
则不会出任何错误

小弟不知道错误的原因在哪,都同为结构体,为什么自己定义的可以用,系统自己定义的RECT结构体一用就出错呢

[此贴子已经被作者于2007-7-21 13:37:05编辑过]

搜索更多相关主题的帖子: RECT 结构体 
2007-07-21 13:35
cumtzdhlx
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2007-7-8
得分:0 
我又看出来了一点,我上面的程序不能用RECT的LEFT和RIGHT变量,而TOP和BOTTOM是可以用的,另外我自己给了一个结构体,里面包含了LEFT和RIGHT仍然出相同的错误,不知道是不是VC有问题啊
2007-07-21 17:10
cumtzdhlx
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2007-7-8
得分:0 
谢谢啊 忘了上面定义过宏了 看了半天没看出来 真郁闷 谢谢啊
2007-07-22 00:36



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-157047-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.849924 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved