关与指针的问题。。

ifineedhelp 2007-12-28 01:37:08
代码:
.h
class BMP
{
public:
BMP(int a,int b,int c);
~BMP();
friend BOOL operator== (const BMP &bit1,const BMP &bit2);
void Plus(BMP &bit1);
int length,hight,number;
int *p;
};
***************
.cpp
BMP::BMP(int a,int b,int c)
{
if(a != 0&&b != 0&&c != 0)
{
length = a;
hight = b;
number = c;
p = new int[a*b*c*3];
for(int a = 0;a < a*b*c*3;a++)
{
p[a] = 0;
}
}
}
BMP::~BMP()
{
if(p != NULL)
{
delete []p;
p = NULL;
}
}

void CMainFrame::OnSetDialog()
{
// TODO: Add your command handler code here BMP bit(1,1,1);
char str[8];
sprintf(str,"%d",bit.p[0]);
MessageBox(str);
}

输出 -58245644
不知道怎么回事 望各位高手回答。。
谢谢。。
...全文
137 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ifineedhelp 2007-12-28
  • 打赏
  • 举报
回复
唉 。。
解决了
谢谢各位。。
tanlijun37 2007-12-28
  • 打赏
  • 举报
回复
楼上说的很对
cad_vc 2007-12-28
  • 打赏
  • 举报
回复
for(int a = 0;a < a*b*c*3;a++)
{
p[a] = 0;
} ======〉

for(int i = 0;i < a*b*c*3;i++)
{
p[i] = 0;
}
ghostgorst 2007-12-28
  • 打赏
  • 举报
回复
for(int a = 0;a < a*b*c*3;a++)
{
p[a] = 0;
}
}
}
因为你这个循环的问题吧
星光伴月 2007-12-28
  • 打赏
  • 举报
回复
循环变量a与参数a冲突,改成i试试:

BMP::BMP(int a,int b,int c)
{
if(a!=0&&b!=0&&c!=0)
{
length = a;
hight = b;
number = c;
p = new int[a*b*c*3];
for(int i = 0;i < a*b*c*3;i++)
{
p[i] = 0;
}
}
}

64,666

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧