Мне нужно сделать динамическое присвоение массива для класса, где я покажу, как они работают и как передать их в функцию. Кажется, что код выполняется без ошибок, но он возвращает значение -33686016
, но мне нужно, чтобы он возвращал сумму, которую я передал.
Итак, я хотел создать калькулятор, который будет работать с динамическим массивом, чтобы вы могли вводить столько циклов, сколько нужно для суммирования в цикле, пока еще не выполнили часть цикла, но без него он даже не работает , Я попытался добавить указатели и попал в точку, где он возвращает адрес памяти. Но все равно не могу получить значение.
Исходный файл:
#include <iostream>
#include "saskait_funkc.h"
int main()
{
int size;
std::cin >> size;
int *arr = new int[size];
for (int i = 0; i <= (size - 1); i++) {
std::cin >> arr[i]; }
int kopa = sask(arr, size);
std::cout << kopa;
system("pause");
return 0;
}
Функция:
int sask(int *num, int size) {
int sum = 0;
for (int i = 0; i <= size; i++) {
sum = sum + num[i];}
return sum;
}
Так, например, сначала ввод (2, который означает, сколько вводов вы будете вводить следующим), затем (1 и 2, которые являются суммами, которые вы хотите суммировать) и вывод должен быть 3, но он выводит -33686016
.
Без массивов это работает, но мне нужно включить динамический массив