Потенциальная утечка памяти, указанная «расстоянием»? (как массив Dynami c работает с классом) - PullRequest
0 голосов
/ 02 апреля 2020

Мне нужно заполнить массив Dynami c переменной из класса. Мое назначение - заполнить массив «расстояние» с помощью Point (x и y), и в каждой ячейке массива я вычисляю расстояние (с функцией) между двумя точками, а также периметр со всеми расстояниями.

Не знаю, понятно ли это, но я новичок в c ++. Пожалуйста, помогите мне!! Спасибо

#include <iostream>
#include "Point.h"
#include "Polygone.h"
using namespace std;

int main() {
    int numberSide;
    int x1, y1, x2, y2;
    Point p1, p2;
    cout<<"enter number of sides:"<<endl;
    cin>>numberSide;
    float* distance=new float(numberSide);
    cout<<"enter points:"<<endl;
    for (int i=0; i<numberSide; i++) {
        cin>>x1>>y1;
        Point p1(x1,y1);
        cin>>x2>>y2;
        Point p2(x2,y2);
        distance[i]=p1.distance(p1, p2);
    }

    return 0;
}

1 Ответ

0 голосов
/ 02 апреля 2020

Выделите так:

 float *distance = new float[numberSide];  

Свободная память вот так:

delete [] distance;
...