Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
1 / 1 / 0
Регистрация: 29.12.2009
Сообщений: 167
1

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

30.03.2010, 17:36. Просмотров 1819. Ответов 2
Метки нет (Все метки)

Почему нельзя в функциях использовать типизированные указатели ?
Напр почему так нельзя ?
Delphi
1
2
{$R *.dfm}
function (p:^integer):integer;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.03.2010, 17:36
Ответы с готовыми решениями:

Как можно объяснить, почему нельзя использовать полную форму if . else ?
Как можно объяснить, почему нельзя использовать полную форму if ... else ? Зада: Подсчитать кол-во...

Как использовать компоненты формы в функциях?
Есть компонент для работы с БД. Как мне использовать его внутри функции? Так не работает:...

Почему break нельзя использовать в if?
почему break нельзя использовать в if вот код if(f.eof()==1) { break; } про break MVS...

Почему нельзя использовать метод ReadAllLines?
static int FoundConst(string fileAddress, string cs) { ...

2
13051 / 5837 / 1705
Регистрация: 19.09.2009
Сообщений: 8,807
30.03.2010, 18:36 2
В качестве параметров функций можно использовать любые указатели - и типизированные и нетипизированные:
Delphi
1
2
3
4
type
  TPInt = ^Integer;
 
function (p : TPInt):integer;
Т. е. тип типизированного указателя должен быть уже определён, прежде чем в описании функции будет объявлен параметр этого типа.
Дело в том, что выражение:
Delphi
1
2
var
  p : ^Integer;
на самом деле является не только описанием переменной p, но и заданием нового типа: ^Integer. Тип ^Integer является производным типом. В разделе VAR такое действие разрешено. Можно даже задать переменную типа запись:
Delphi
1
2
3
4
5
var
  MyRec : record
    f1 : Integer;
    f2 : String;
  end;
Здесь мы описываем переменную MyRec и тут же определяем её тип.
В разделе VAR такие действия разрешены. Но в описании параметров функции, нельзя задавать новые типы, как это можно делать в разделе VAR. Т. е. прежде чем использовать какой-то производный тип в описании функции, необходимо предваритльно этот тип определить в разделе TYPE.
1
1 / 1 / 0
Регистрация: 29.12.2009
Сообщений: 167
30.03.2010, 19:21  [ТС] 3
Mawrat спасибо огромное
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.03.2010, 19:21

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Почему нельзя использовать глобальные переменные
Здравствуйте, собственно вышел сиз данным вопросом в гугл и на стаке нашел такой ответ:...

Почему нельзя использовать переменную из блока try/catch
Вечер добрый. import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser;...

Почему для событий нельзя использовать оператор =?
Почему для событий нельзя использовать оператор =?

Почему нельзя использовать более одной TServerSocket?
Пробовал использовать в программе две компоненты TserverSocket и не получилось. Выдает ошибку:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.