powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Использованиє массива указателей как глобальной применной!!
3 сообщений из 3, страница 1 из 1
Использованиє массива указателей как глобальной применной!!
    #33711852
cruse
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помогите разобратся как использовать массив указателей в качестве глобальной применной!!
Уменя єсть H-файл вот он:

class Spisok
{
struct GenRecord{
float Znach;
};
public:
void GenRec();
};
//--------------------------------------------
class SecSpisok:public Spisok
{
int i,k;
float j;
int Sum;
public:
void ShowRec(int,GenRecord msRec);
void MaxZnach();
};
Мне нужно чтоби при нажатии кнопки ... методу ShowRec передавались ети параметри (int,GenRecord msRec)!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Вот код програми:
//---------------------------------------------------------------------------

#include <vcl.h>
#include "spisok.h"
#include <conio.h>
#include <math.h>
#pragma hdrstop
#include "ULab4a.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
SecSpisok*W=new SecSpisok;
void Spisok::GenRec()
{
double k;
//Ств. масив вказівників на струк.
GenRecord* listArray[10];
//Ств. обєкт для кожного ел. масиву
for (int i=0;i<10;i++)
listArray =new GenRecord;
int index=0;
do
{
k=double(rand())/double(RAND_MAX);
listArray[index]->Znach=k;
index++;
}
while(index<10);
}
void SecSpisok::ShowRec(int i,GenRecord msRec)
{
Form1->StringGrid1->Cells[0][i+1]=msRec.Znach;
}
//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
StringGrid1->Cells[0][0]=" Ген.";
StringGrid1->Cells[1][0]=" Макс";

}
//---------------------------------------------------------------------------
void __fastcall TForm1::BGenerClick(TObject *Sender)
{
W->GenRec();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BShowClick(TObject *Sender)
{
for(int i=0;i<10;i++) {
W->ShowRec(i,*listArray); }
}
Процедура нажатия клавиши BShowClick пишет что listArray-указатель неизвестен Как его оголосить.Где ошибка!!
...
Рейтинг: 0 / 0
Использованиє массива указателей как глобальной применной!!
    #33711870
muk07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) Вы пишете:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
void Spisok::GenRec()
{
double k;
//Ств. масив вказівників на струк.
GenRecord* listArray[ 10 ];
//Ств. обєкт для кожного ел. масиву
for (int i= 0 ;i< 10 ;i++)
listArray=new GenRecord;
int index= 0 ;
do
{
k=double(rand())/double(RAND_MAX);
listArray[index]->Znach=k;
index++;
}
while(index< 10 );
}
откуда следует, что listArray локальный в методе Spisok::GenRec() массив указателей.
2) Затем Вы пишете
Код: plaintext
1.
2.
3.
4.
5.
void __fastcall TForm1::BShowClick(TObject *Sender)
{
for(int i= 0 ;i< 10 ;i++) {
W->ShowRec(i,*listArray); }
}
Ну откуда BShowClick может что-то знать про listArray??
...
Рейтинг: 0 / 0
Использованиє массива указателей как глобальной применной!!
    #33716489
cruse
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что мне тогда сдельть с listarray чтоб он стал глобальним и его понимал BShowClick!!
Как правильно использовать локальную применную!!
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Использованиє массива указателей как глобальной применной!!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]