Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Ошибка 88

Автор: KolganovM 1.12.2011 3:04

Доброго времени суток. Собственно, вылезает такая ошибка: «(» expected
Красным выделено, место, куда указывает компилятор.

program lab1;
uses crt;
var
f:text;
s_string,s_full:string;
i:integer;
function gorner(num:string;base:integer;
var i:integer;char:string):integer;
begin
while (i<=length(num)) do
begin
if(ord(num[i])in[49..57]) then
gorner:=gorner*base+ord(num[i])-ord('0'))
else
begin
if(ord(num[i])in[97..122])
then num[i]:=chr(ord(num[i])+32);
gorner:=gorner*base-ord('A')+10;
end;
end;
end;
begin
clrscr;
assign(f,'lab1.txt');
reset(f);
while not eof(f) do
begin
readln(f,s_string);
s_full:=s_full+s_string;
end;
write(s_full);
close(f);
readln;
end.

Автор: IUnknown 1.12.2011 3:29

Цитата
Собственно, вылезает такая ошибка: «(» expected
Правильно делает компилятор. У тебя Gorner это что? Имя функции, которая принимает один параметр. Вот когда Gorner находится слева от знака присваивания, то это - результат функции. А когда справа - это попытка вызова самой функции рекурсивно. Которая проваливается, потому что не хватает открывающейся скобки, за которой должны следовать параметры (так думает компилятор).