Ошибку ловлю на строке 'int *mass1= ArrayGenerate(raz);':
error: invalid conversion from 'int' to 'int*' [-fpermissive]
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int ArrayGenerate(int raz) {
int* mass1 = new int[raz];
for (int i = 0; i < raz; i++) {
mass1[i] = rand() % 200 - 100;
cout << mass1[i] << " ";
}
return *mass1;
}
int main() {
setlocale(LC_ALL, "russian");
int raz, n, k;
srand(time(NULL));
cout << "Ввести длинну массива \n";
cin >> raz;
int* mass1 = ArrayGenerate(raz);
cout << "\n Введите номер элемента, с которого хотите начать удаление: ";
cin >> k;
cout << "\n Введите количество элементов, которые хотите удалить:";
cin >> n;
for (int i = k; i < raz - n; i++) {
mass1[i] = mass1[i + n];
}
for (int i = 0; i < raz - n; i++)
cout << mass1[i] << ' ';
system("pause >> void");
return 0;
}
Тип возвращаемого значения должен быть указатель на массив , вот как правильно:
int * ArrayGenerate(int raz);
{
int *mass1 = new int[raz];
for (int i = 0; i < raz; i++)
{
mass1[i] = rand() % 200 - 100;
cout << mass1[i] << " ";
}
return mass1;
}
Ну ведь все ясно говорит компилятор. Ваша функция ArrayGenerate
возвращает int
, а присваивать вы пытаетесь переменной типа int*
.
Явная ошибка в ArrayGenerate
- вы возвращаете не созданный массив, а значение его первого элемента (получая тем самым утечку памяти).
Объявите ее как возвращающую int*
, а в ней напишите
return mass1;
И, кстати, в конце программы неплохо бы освободить память, вызвав
delete[] mass1;
Массив интов пытаетесь передать как инт. Исправьте инт на инт* в возвращаемом типе и не разыменовывайте
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
У меня есть класс, но программа вылетает после создания объекта его типа
Как в opengl c++ нарисовать дугу которая начинается с определённой точки и заканчивается определённой точкой Пример - дуги которые между многоугольниками...
Покажите пожалуйста простой пример с variadic templatesХотелось бы следующее