回 帖 发 新 帖 刷新版面

主题:急,求助一个类成员数据为(使用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]越界,我理解是这样。但不明白为什么会有这个错误,要想实现这个动态数组指针问题,应该怎么改好?
谢谢大家。

回复列表 (共2个回复)

沙发


你那构造方法里又声明一个double*b

板凳


把这些去掉:main文件:

#include"Lin.h" 就行了

我来回复

您尚未登录,请登录后再回复。点此登录或注册