Задать вопрос
HentaiEtoIskusstvo
@HentaiEtoIskusstvo

Почему не получается передать указатель в функцию?

#include<iostream>
#include<time.h>

using namespace std;

void Function1(int* ptr, int& size);

void main() {
	setlocale(LC_ALL, "Rus");
	int* ptr = nullptr;
	int size = 10;
	Function1(ptr, size);
	cout << endl;
}
void Function1(int* ptr, int& size) {
	for (int i = 0; i < size; ++i) {
		ptr[i] = rand() % (20 - 0 + 1) - 0;
		cout << ptr[i] << ' ';
	}
}
  • Вопрос задан
  • 179 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 2
15432
@15432
Системный программист ^_^
Вы забыли выделить память и поместить указатель на выделенную область в ptr

Перед вызовом function1 добавьте

ptr = new int[size]
Ответ написан
Комментировать
zagayevskiy
@zagayevskiy
Android developer at Yandex
передать-то его получается, но перед использованием надо выделить память.
int* ptr = new int[10];
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы