Динамический массив выдает ошибку
Код:
Source.cpp
``` #include <iostream>
#include "mass.h"
using namespace std;
int main()
{
int g = 0;
while (g<5||g>20) {
cin >> g;
}
mass q(g);
q.callmass();
} ```
mass.cpp
``` #include <iostream>
#include <iomanip>
#include "mass.h"
using namespace std;
void mass::callmass()
{
for (int i = N - 1; i >= 0; i--)
{
cout << setw(5) << arr2[i];
}
delete [] arr2;
} ```
mass.h
``` #ifndef MASS_H
#define MASS_H
class mass
{
public:
int* arr2 = new int[N];
int N = 0;
mass(int Q)
{
N = Q;
int* arr1 = new int[N];
for (int i = 0; i < N; i++)
{
arr1[i] = i * i;
}
for (int i = 0; i < N; i++)
{
arr2[i] = arr1[i];
}
delete [] arr1;
};
void callmass();
};
#endif ```
Ответы (1 шт):
Автор решения: user7860670
→ Ссылка
Для инициализации поля int* arr2 = new int[N]; будет использовано неинициализированное значение N.
