游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4479|回复: 10

为什么在for循环里的代码不执行??

[复制链接]

12

主题

13

帖子

13

积分

新手上路

Rank: 1

积分
13
发表于 2006-9-10 22:46:00 | 显示全部楼层 |阅读模式
我的代码中的一个双重for循环里的语句不执行!!
谁知道这是为什么?

void Strike::StrikeBlt(RGB_C* pic_res,int X,int Y,int W,int H,RGB_C** viewMap)
{
        for(int ii=Y; ii<H; ii++)
        {
                for(int jj=X; jj<W; jj++)
                {
                        viewMap[ii][jj].r=(*pic_res).r;
                        viewMap[ii][jj].g=(*pic_res).g;
                        viewMap[ii][jj].b=(*pic_res).b;
                        pic_res++;
                }
        }
}

这是一个类成员函数,for循环里的赋值语句不执行,为什么啊??!

12

主题

13

帖子

13

积分

新手上路

Rank: 1

积分
13
 楼主| 发表于 2006-9-10 22:57:00 | 显示全部楼层

Re: 为什么在for循环里的代码不执行??

开始时不知道,运行时出了问题,调试了下,才发现for循环里的语句没被执行,程序只是在for这里一直循环着,里面的语句就是不执行。

谁能帮帮忙?!
有没可能是在堆上分配了太多空间?程序在其它地方用NEW分配了很多内存。但是也没可能呀。

9

主题

45

帖子

49

积分

注册会员

Rank: 2

积分
49
发表于 2006-9-11 15:05:00 | 显示全部楼层

Re:为什么在for循环里的代码不执行??

看看反汇编是不是被优化掉了

0

主题

12

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2006-9-11 18:13:00 | 显示全部楼层

Re:为什么在for循环里的代码不执行??

void Strike::StrikeBlt(RGB_C* pic_res,int X,int Y,int W,int H,RGB_C** viewMap)
改为
void Strike::StrikeBlt(RGB_C* pic_res,int X,int Y,int W,int H,RGB_C* viewMap)

0

主题

202

帖子

202

积分

中级会员

Rank: 3Rank: 3

积分
202
发表于 2006-9-12 00:11:00 | 显示全部楼层

Re:为什么在for循环里的代码不执行??

肯定是你的错;)

0

主题

2

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2006-9-12 14:48:00 | 显示全部楼层

Re:为什么在for循环里的代码不执行??

RGB_C** viewMap 错了吧,按你下面的用法应该是RGB_C* viewMap

另外你确认下传入的参数的值是否正确。程序结构上没有问题。

97

主题

590

帖子

590

积分

高级会员

Rank: 4

积分
590
QQ
发表于 2006-9-12 15:15:00 | 显示全部楼层

Re:为什么在for循环里的代码不执行??

viewMap是二维数组,写成RGB_C** viewMap有什么问题么

27

主题

418

帖子

455

积分

中级会员

Rank: 3Rank: 3

积分
455
QQ
发表于 2006-9-12 20:11:00 | 显示全部楼层

Re:为什么在for循环里的代码不执行??

viewMap[ii][jj].r=(*pic_res).r里
pic_res 为什么加 *

0

主题

12

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2006-9-13 15:17:00 | 显示全部楼层

Re: Re:为什么在for循环里的代码不执行??

怪盗基德: Re:为什么在for循环里的代码不执行??

viewMap是二维数组,写成RGB_C** viewMap有什么问题么


拜托,不管是几维数组,数组名都可以当作指针用的,
那如果是n维数组,难道要写n个*

pic_res 加 *是先取值再用.访问
不加也可以,那就必须用->访问了

140

主题

1228

帖子

1233

积分

金牌会员

Rank: 6Rank: 6

积分
1233
QQ
发表于 2006-9-14 08:45:00 | 显示全部楼层

Re:为什么在for循环里的代码不执行??

我觉得问题可能比大家想象的白痴很多。
看命名,x,y,w,h,坐标与长宽。
x不一定小于w,y不一定小于h
ii<y+h
jj<x+w

搞不清楼主忽略了这些事。^_^
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-25 10:09

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表