Cliext列表C ++未处理的异常

时间:2013-03-01 15:25:25

标签: list c++-cli cliext

我创建了一个Windows窗体项目,但是我在列表中显示元素时遇到问题,列表是托管类的一部分。以下是一些理解我的问题所必需的代码:

Bazadanych.h

public ref class Bazadanych
{
public:
cliext::list<Car^> Bazatorent;
cliext::list<Rented^> Bazarented;
cliext::list<Unavaible^> Bazaunavaible;
cliext::list<Car^>::iterator it1;
cliext::list<Rented^>::iterator it2;
cliext::list<Unavaible^>::iterator it3;

Bazadanych()
{
    it1=Bazatorent.begin();
    it2=Bazarented.begin();
    it3=Bazaunavaible.begin();
};
bool Empty();
void Dodaj1(Car^);
void Dodaj2(Rented^);
void Dodaj3(Unavaible^);
void Usun1(cliext::list<Car^>::iterator);
void Usun2(cliext::list<Rented^>::iterator);
void Usun3(cliext::list<Unavaible^>::iterator);
void Czysc();};

Bazadanych.cpp

bool Bazadanych::Empty()
{
    if((Bazatorent.empty()==true)&&(Bazarented.empty()==true)&&(Bazaunavaible.empty()==true)) return(true);
    else return(false);
};

void Bazadanych::Dodaj1(Car^ Element)
{
    this->Bazatorent.push_back(Element);
};

void Bazadanych::Dodaj2(Rented^ Element)
{
    this->Bazarented.push_back(Element);
};

void Bazadanych::Dodaj3(Unavaible^ Element)
{
    this->Bazaunavaible.push_back(Element);
};

void Bazadanych::Usun1(cliext::list<Car^>::iterator it1)
{
    this->Bazatorent.erase(it1);
};

void Bazadanych::Usun2(cliext::list<Rented^>::iterator it2)
{
    this->Bazarented.erase(it2);
};

void Bazadanych::Usun3(cliext::list<Unavaible^>::iterator it3)
{
    this->Bazaunavaible.erase(it3);
};

void Bazadanych::Czysc()
{
    this->Bazatorent.clear();
    this->Bazarented.clear();
    this->Bazaunavaible.clear();
};

Car.h

public ref class Car
{
public:
    String^ category;
    String^ model;
    String^ rocznik;
    String^ cena;

    Car(){};
    Car(String^ ,String^ ,String^ );
    void edytuj(String^ ,String^ ,String^ );
    String^ getmodel(){return this->model;};
    String^ getrocznik(){return this->rocznik;};
    String^ getcena(){return this->cena;};
    virtual String^ getcat()
    {
        this->category="To rent";
        return this->category;
    };
};

在Bazatorent列表中添加一些元素后,我尝试在form1.h中执行,执行类似这样的事情

Bazadanych^ Bazowa = gcnew Bazadanych;
.
.
.
richTextBox1->Text=Bazowa->it1->display();

在那一刻我得到了未处理的异常。我认为问题是添加元素方法,但我检查了size(),列表正在获取新元素。

0 个答案:

没有答案