Не могу разобраться с объявлением динамических массивов

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Laba2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
//Кнопка "Закрыть"
void __fastcall TForm1::Button3Click(TObject *Sender)
{
 Close();
}

//Кнопка "Выполнить"
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 double
   Xn = StrToFloat(Edit1->Text),
   Xk = StrToFloat(Edit2->Text),
   Dx = StrToFloat(Edit3->Text),
   C = StrToFloat(Edit5->Text),
   D = StrToFloat(Edit6->Text),
   Eps = StrToFloat(Edit8->Text), // погрешность
   b;// Значение интеграла

 int
  N = StrToInt(Edit4->Text), // количество значений параметра А
  Km = StrToFloat(Edit7->Text),
  K;// количество значений аргумента Х

  K = abs((Xn-Xk)/Dx) + 1;
  double *Mx = new double [K]; // Mx- указатель на выделенный участок памяти под массив вещественных чисел  типа double
  double *Ma = new double [N]; // Ma- указатель на выделенный участок памяти под массив вещественных чисел  типа double
  double **My = new double [N];
  for(int i = 0; i<N; i++){
   My[i] = new double[K];
  }

  double **Er = new double *[N];

  for(int i = 0; i<N; i++){
   Er[i] = new double[K];
  }
}

Выдает ошибку cannot initialize a variable of type 'double **' with an rvalue of type 'double *' обращает внимание на строку

double **My = new double [N];

Ок, это можно исправить , добавив * перед [N]. Но тогда выскакивает 18 предупреждений и ошибка [ilink32 Error] Error: Unable to perform link. Что я делаю не так???


Ответы (0 шт):