Консультация № 109479
15.11.2007, 06:11
0.00 руб.
0 1 1
Здравствуйте, снова возникла проблема :). Подскажите кто сможет.
Есть функция:
float *ver (float *xr, float *a, float *b) {
...
return P;
}
где xr - двумерный массив, a, b, P - одномерныетмассивы;
Пытаюсь вызвать в программе по нажатию на кнопку:
float xr[5][6]={{1,2,3,4,5,7},{1,7,4,8,3,7},{3,5,2,2,1,7},{2,3,1,2,1,5},{4,5,7,8,9,5}};
float a[5]={0,0,0,0,0};
float b[5]={6,6,6,6,6};
void __fastcall TForm1::Button5Click(TObject *Sender)
{
Label2->Caption=FloatToStr(ver(xr, a, b)[q=]);
q++;
}
Выдает ошибку:
[C++ Warning] Unit1.cpp(132): W8004 ‘l‘ is assigned a value that is never used
если входыми параметрами сделать не xr, a, b, то все работает без пробем...а вот массив не получается никак кинуть в функцию....подскажите, пожалуйста.

Обсуждение

Неизвестный
15.11.2007, 07:20
общий
это ответ
Здравствуйте, Mart!
То что вы написали ([C++ Warning] Unit1.cpp(132): W8004 ‘l‘ is assigned a value that is never used) - это не ошибка, а предупреждение - означающее, что переменная l обявлена, ей присвоено значение, но больше она не используеться.
А значит либо ее вообще можно удалить, либо где-то ошибка в алгоритме.

А чтобы функция, принимала двумерный массив, то есть 2 варианта.

1. Формировать двумерный массив динамически.
Напиример так (массив размером 1х1)
float **xr=new float*[1];
xr[0]=new float[1];
xr[0][0]=1;

И изменить прототим фукнкции на следующий float *ver (float **xr, float *a, float *b)
2. Оставить задание массива как есть. Но оствить последнюю размерность постоянной, сменив прототип на следующий

float *ver (float xr[][6], float *a, float *b)
Форма ответа