IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Объявление глобальной структуры VC++
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 103
Пол: Мужской
Реальное имя: Александр

Репутация: -  0  +


Добрый день. Пишу приложение WinForms на Visual C++, столкнулся с проблемой объявления структуры, точнее вроде работает, но не так как хотелось, необходимо объявить массив структур глобально, на что компилятор не ругается, а когда смотрю отладчиком говорит что переменная не существует. Помогите пожалуйста разобраться.

объявляю структуру таким образом:

namespace ppc {

using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;

int ii;

typedef struct mystruct
{
int a;
int b;
}m;

mystruct my[100];


public ref class Form1 : public System::Windows::Forms::Form
{
public:
bool Check1, Check2;
int i;
private: System::Windows::Forms::Button^ button2;
public:
String ^Str;

Form1(void)
{
InitializeComponent();

}

protected:
/// <summary>
/// Освободить все используемые ресурсы.
/// </summary>
~Form1()
{
if (components)
{
delete components;
}
}
private: System::Windows::Forms::Button^ button1;
protected:

private:
System::ComponentModel::Container ^components;

#pragma region Windows Form Designer generated code

void InitializeComponent(void)
{
// Код конструктора....
.....
}


Функция в которой вызываю переменную:

private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) 
{

my[1].a = 3;
}


На что компилятор при отладке говорит что переменная my[1].a не существует.

но если сделать так:

private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) 
{
mystruct my2[100];
my2[1].a = 3;
}


Все работает, но переменная my2 является в таком случае локальной.

Пробовал объявлять в конструкторе таже проблема, и объявление в классе не помогает.

Сообщение отредактировано: ninja -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 20.04.2024 21:30
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name