表达式:_BLOCK_TYPE_IS_VALID(pHead-> nBlockUse)错误:在类中使用指针时

时间:2014-04-22 13:34:56

标签: c++

我正在使用visual studio,使用此代码,它会给我一个“断言失败”消息。 我有类(C),其中有一个整数指针,有常规的set和print方法,
这是我的代码:

class C
{
    int*   p;
public:
    void print();
    void set_value(int);
    int get_value();
    C();    // default cinstructor
    C(int); //constructor with parameters (overloading constructor)
    ~C();
};

int C::get_value() {
    return *p;
}

void test(C ob1) {
    ob1.print();
}

C::~C()
{
    cout<<p<<" has been destroyed \n";
    if (p!=0)
    delete p;
}

C::C()
{
    p=0;
}

C::C(int x)
{
    p=new int;
    *p=x;
}

void C::print()
{
    if (p!=0)
    cout<<"p = "<<p<<"\t"
        <<"*p = "<<*p<<endl;
    else
        cout<<"Empty pointer"<<endl;
}

void C::set_value(int x)
{
    if (p==0)
        p = new int;
    *p=x;
}
void main()
{
    C x,y(20);
    test(y);
}
任何人都可以帮忙吗?提前谢谢。

0 个答案:

没有答案