Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.11.12;
Скачать: CL | DM;

Вниз

Перегрузка операторов в Delphi 10   Найти похожие ветки 

 
XProger ©   (2006-10-27 19:23) [0]

TVector = record
 X, Y, Z : Single;
 class operator Implicit(X, Y, Z: Single): TVector;
end;

раз такое дрпускает компилятор, то как это вызвать?


 
Ketmar ©   (2006-10-27 19:33) [1]

ничего себе бред, оказывается, в D10 можно скомпилять. а точно можно? %-)


 
Джо ©   (2006-10-27 19:38) [2]

> а точно можно? %-)

Можно-то можно, но бред, ибо использовать нельзя :D


 
MeF Dei Corvi ©   (2006-10-27 19:45) [3]


>  ибо использовать нельзя

А вдруг можно? :)


 
Gero ©   (2006-10-27 19:48) [4]

Я уж лучше по старинке...


 
Джо ©   (2006-10-27 20:10) [5]

> [3] MeF Dei Corvi ©   (27.10.06 19:45)
>
> >  ибо использовать нельзя
>
> А вдруг можно? :)

Синтаксис поражал бы своей загадочностью:
 v1: TVector;
...
 v1 := x,y,z;

:)


 
Ketmar ©   (2006-10-27 20:13) [6]

>[5] Джо(c) 27-Oct-2006, 20:10
>Синтаксис поражал бы своей загадочностью:
или: (x,y,z).x := 5;
%-)


 
jack128(not home)   (2006-10-27 21:38) [7]

компилер от десятки - страшен как моя жизнь. Глюков относительно новых синтаксических фишек (которые сами по себе по меньшей степени - любопытны) - не счесть. Это видимо один из них...


 
XProger ©   (2006-10-27 21:58) [8]

Dir.Cross(Vector(0, 1, 0)).Normal
Dir : TVector, Cross и Normal методы TVector
Приводит к [Pascal Fatal Error] xxx: F2084 Internal Error: URW821

Получается, что нельзя вызывать методы record"а - результата %)
И теперь не могу понять, что означает closed топика http://qc.borland.com/wc/qcmain.aspx?d=29013 ... Это ж зверский баг! :\


 
Суслик ©   (2006-10-27 22:05) [9]

у них есть определенные недоработки в компиляторе в области перегрузки - он позволяет больше, чем может съесть.
об этом в qc многократно заявлено. большинство репортов открыты - будем ждать.

> И теперь не могу понять, что означает closed топика http:
> //qc.borland.com/wc/qcmain.aspx?d=29013 ... Это ж зверский
> баг! :\

см. resolution comments - duplicate.


 
Суслик ©   (2006-10-27 22:07) [10]


> компилер от десятки - страшен как моя жизнь. Глюков относительно
> новых синтаксических фишек (которые сами по себе по меньшей
> степени - любопытны) - не счесть. Это видимо один из них

женя - не надо таких громких заявлений.
сама по себе перегрузка у них сделана бестяще.
да, компилятор позволяет лишнего (это баг, не спорю).
но если ты будешь следовать доке, то результат очень хорош.


 
Суслик ©   (2006-10-27 22:08) [11]


> XProger ©   (27.10.06 21:58) [8]
> Dir.Cross(Vector(0, 1, 0)).Normal
> Dir : TVector, Cross и Normal методы TVector
> Приводит к [Pascal Fatal Error] xxx: F2084 Internal Error:
>  URW821

наиболее распространенная ошибка при поптыке вызвать метод результата имеет код c1624
можешь в qc поискать по этому ключевому слову - там туча репортов. пока, кстати, вроде не исправили в 11 версии (в бете, правда).


 
XProger ©   (2006-10-27 22:17) [12]

Суслик, c1624 возникает при не inline методах record"а %)


 
Суслик ©   (2006-10-27 22:19) [13]


> XProger ©   (27.10.06 22:17) [12]
> Суслик, c1624 возникает при не inline методах record"а %)

ох ты умный какой, целый workaround нашел. запость его в репорты.
только это неправда - бывает разное и с инлайном не работает.



Страницы: 1 вся ветка

Текущий архив: 2006.11.12;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.056 c
2-1162018542
lobach
2006-10-28 10:55
2006.11.12
Срез длинной строки


2-1162191156
Ivolg
2006-10-30 09:52
2006.11.12
Порт


6-1141891745
Игорек
2006-03-09 11:09
2006.11.12
Работа с GPRS модемом


2-1161786196
Kos135
2006-10-25 18:23
2006.11.12
Создание компонента Delphi по шелчку мыши


15-1161759470
Курдль
2006-10-25 10:57
2006.11.12
Какие именно задачи следует решать с помощью ХП?