Форум: "Начинающим";
Текущий архив: 2007.05.13;
Скачать: [xml.tar.bz2];
ВнизУказатель Найти похожие ветки
← →
Кузнецов (2007-04-21 18:39) [0]Здравствуйте, пишу программу наткнулся на одну неприятность.
Упрощенно это выглядит так:
type TType = record
i : integer;
r : real;
end;
var a, b, c : TType;
procedure proc(s : string);
var p : ^TType;
begin
p^ := a;
(p^).r := StrToFloat(s); //ERROR
end;
Подразумевается, что тип TType есть большая структура, которая содержит ко всему прочему массивы... в помеченной строке ошибка, а работать с указателями в моем случае - милое дело.
Не подскажете в чем дело/?
Спасибо.
← →
Kedge © (2007-04-21 18:59) [1]А куда указывает p^ в этой строке ?
p^ := a;
← →
oxffff © (2007-04-21 19:38) [2]Наверно p:=@a;
← →
Loginov Dmitry © (2007-04-21 20:29) [3]> Наверно p:=@a;
Не обязательно. Возможно прием p^ := a; автор хотит использовать для инициализации полей p.
2Автор: пропробуй так:New(p);
p^ := a;
p.r := StrToFloat(s);
// Дальше что-то должно делаться с p, не просто так же все это
Dispose(p);
← →
oxffff © (2007-04-21 21:40) [4]
> Loginov Dmitry © (21.04.07 20:29) [3]
> > Наверно p:=@a;
>
>
> Не обязательно. Возможно прием p^ := a; автор хотит использовать
> для инициализации полей p.
>
> 2Автор: пропробуй так:
>
> New(p);
> p^ := a;
> p.r := StrToFloat(s);
> // Дальше что-то должно делаться с p, не просто так же все
> это
> Dispose(p);
Не обязательно. :)
Это быстрее.
var LocalVar:TType;
p:^TType;
begin
LocalVar:=a;
LocalVar.r:=StrToFloat(s);
p:=@LocalVar;
// Далee все что угодно
nd;
← →
jack128 © (2007-04-22 01:19) [5]oxffff © (21.04.07 21:40) [4]
Это быстрее.
var LocalVar:TType;
p:^TType;
Одно не понятно, нафиг здесь вообще указатели?
← →
oxffff © (2007-04-22 10:07) [6]
> Одно не понятно, нафиг здесь вообще указатели?
Так ведь просят же. :)
← →
Desdechado © (2007-04-24 11:23) [7]> тип TType есть большая структура, которая содержит ко всему
> прочему массивы
Чего-то в упор не вижу никаких массивов.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.05.13;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.049 c