Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.08.2012, 17:02   #1
Madmaxisss
Форумчанин
 
Регистрация: 12.07.2011
Сообщений: 158
По умолчанию нельзя вызвать New так как невозможно вычислить размер записи

да абс.нэт умеет выносить мозг))

Код:
FUNCTION  FUN_TR: tree;  
VAR
   t: tree;
BEGIN
       
              new(t); // здесь ошибка. Почему?
              t^.sss:=s;
              t^.pll:=nil;
              t^.prr:=nil;
              FUN_TR:=t;

END;
нельзя вызвать New так как невозможно вычислить размер записи

Последний раз редактировалось Madmaxisss; 23.08.2012 в 18:08.
Madmaxisss вне форума Ответить с цитированием
Старый 23.08.2012, 17:53   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Покажите, как описали tree.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 23.08.2012, 17:57   #3
Madmaxisss
Форумчанин
 
Регистрация: 12.07.2011
Сообщений: 158
По умолчанию

Цитата:
Покажите, как описали tree.
Код:
TYPE 
    tree=^ptree;
    ptree=record
                sss: string; 
                pll: tree;    
                prr: tree;    
END;
Код:
Var s: string;
а вот как описывается в абсе.нэт NEW
Код:
procedure New<T>(var p: ^T); 
        Выделяет динамическую память размера sizeof(T) и возвращает в переменной p указатель на нее. Тип T должен быть размерным
Как задать размерность? не пойму

Последний раз редактировалось Stilet; 23.08.2012 в 19:53.
Madmaxisss вне форума Ответить с цитированием
Старый 23.08.2012, 19:51   #4
volvo877
Форумчанин
 
Аватар для volvo877
 
Регистрация: 01.06.2009
Сообщений: 108
По умолчанию

Цитата:
Как задать размерность?
Ограничить длину строки. Например, так:
Код:
TYPE 
   tree = ^ptree;
   ptree =
   record
      sss: shortstring; 
      pll: tree;    
      prr: tree;    
   end;
volvo877 вне форума Ответить с цитированием
Старый 23.08.2012, 20:22   #5
Madmaxisss
Форумчанин
 
Регистрация: 12.07.2011
Сообщений: 158
По умолчанию

volvo877, молодец молодец, оказывается все просто)) можно даже и
Код:
string[256]
Спасибо тебе volvo877 выручил))
Madmaxisss вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Невозможно добавить столбец, так как его свойство CellType пусто. Dimastiks Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 0 13.08.2012 14:46
писал программу вылезло "попытка вызвать процедуру как функцю" объясните че не так PlayHard Паскаль, Turbo Pascal, PascalABC.NET 8 15.05.2010 00:25
аксесс. как вычислить размер вложений? frizz БД в Delphi 0 04.06.2009 10:15
Нельзя обнулить поле в записи?!! darkstarx Общие вопросы .NET 1 06.02.2008 23:53
Скажите как сделать так, чтобы размер формы оставался фиксированным? Faramund Помощь студентам 2 20.03.2007 20:14