主题:急,求助一个类成员数据为(使用new)指针问题。
先感谢下大家,这个问题很急,我一直没明白为什么出了问题,问题阐述如下:
我是用vc6.0编程
头文件:
#include<iostream>
class Lin
{
private:
double* b;
public:
Lin() //为b开辟出数组空间,用于Show函数使用
{
double* b=new double[2];
for(long i=0;i<2;i++)
b[i]=0.0;
for(i=0;i<2;i++)
std::cout<<b[i]<<std::endl;
}
public:
void Show()
{
for(long i=0;i<2;i++)
std::cout<<b[i]<<std::endl;
}
};
main文件:
#include"Lin.h"
int main()
{
Lin l;
l.Show();
return 0;
}
编译通过,运行出错。
个人分析问题是到l.Show()时,b[i]越界,我理解是这样。但不明白为什么会有这个错误,要想实现这个动态数组指针问题,应该怎么改好?
谢谢大家。
我是用vc6.0编程
头文件:
#include<iostream>
class Lin
{
private:
double* b;
public:
Lin() //为b开辟出数组空间,用于Show函数使用
{
double* b=new double[2];
for(long i=0;i<2;i++)
b[i]=0.0;
for(i=0;i<2;i++)
std::cout<<b[i]<<std::endl;
}
public:
void Show()
{
for(long i=0;i<2;i++)
std::cout<<b[i]<<std::endl;
}
};
main文件:
#include"Lin.h"
int main()
{
Lin l;
l.Show();
return 0;
}
编译通过,运行出错。
个人分析问题是到l.Show()时,b[i]越界,我理解是这样。但不明白为什么会有这个错误,要想实现这个动态数组指针问题,应该怎么改好?
谢谢大家。