Мне нужно вставить один объект в связанный список, когда я нажал кнопку, но когда я создам экземпляр класса List, это показывает мне одну ошибку
public ref class Boletos : public System::Windows::Forms::Form
{
public:
Boletos(void)
{
Lista *List=new Lista;
InitializeComponent();
//
//TODO: Add the constructor code here
//
}
//*****************Click_event**********************//
...
if (count==4){
Capacidad=Convert::ToInt32(line);
capc=Capacidad;
//sala->set_capacidad(Capacidad);
Sala *sala=new Sala();
List->insertAlFinal(newSala(numSala,HPeli,capc,"",2000,nombrePelicula));//Here the error List undefined
count=0;
}
u помещают ваш код в неправильное положение, его так сказать вне сферы действия. Btw. это не совсем c++, выглядит как С#...
Попробуйте что-нибудь вроде
Boletos(void)
{
Lista* list = new Lista();
InitializeComponent();
}
Что вам нужно, это член класса.
public ref class Boletos ...
{
public:
....
void InitializeComponent()
{
m_lista = new Lista();
}
private:
Lista* m_lista;
}
теперь вы можете использовать m_lista во всех функциях-членах классов. То, что вам нужно понять, - это понятие сферы. Если u объявляет и инициализирует переменную только в пределах одной функции, эта переменная так сказать потеряна после того, как программа покинет область действия этой функции. В случае c++ динамическое alloaction new Lista() без соответствующего вызова для удаления даже будет утечкой памяти.