Hateman31
@Hateman31
Делиться мыслями - это круто!

Компилятор ругается на функцию.Что делать?

Товарищи!
Компилятор ругается на функцию, которая должна вернуть массив целых чисел.
Неужели в Turbo Pascal функция может вернуть только стандартный тип данных??
function NewMassive(a:mass;x,y:integer):array [1..100] of integer;
var
	i,c:integer;
	b:mass;
begin
	c := 1;
	for i := x to y do begin
		b[c]:= a[i];
		c:=c+1;
	end;
	NewMassive := b;
end;
  • Вопрос задан
  • 174 просмотра
Решения вопроса 1
Когда имеются две сложных структуры, нужно задавать параметры в процедуре, а не функции. Потому что функции используются для возврата простых типов.
Правильно так:
procedure Some(a: mass; var b: mass)
begin
end;

Параметр a - входной массив. b - формируемый для выхода.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@zedxxx
Чтобы вернуть какой-то тип данных, его надо объявить. Судя по всему, у вас уже объявлен тип динамического массива - mass, вот его и нужно возвращать:
function NewMassive(a:mass;x,y:integer):mass;
И у вас массив b не инициализируется. Ему надо сперва задать размер, а уже потом что-то в него писать.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы