delphi pointer



Pointer delphi

Автор Mad Max задал вопрос в разделе Другие языки и технологии

Помогите с типом поинтер в Delphi и получил лучший ответ

Ответ от Jurijus Zaksas[гуру]
Эмм... А зачем, собственно, ты используешь такой жестокий дженерик, как Pointer? В этом случае сравнения вроде A[J]^ < A[K]^ никак работать не могут, потому что ^ подразумевает тип определенной величины, а типов-то у тебя как раз и нет. Используй типизированные указатели, не мучайся.

Ответ от Jurii[гуру]
Попробуй вынести тип массива из параметра процедуры.
И где у тебя, собственно, массив задаётся?

Ответ от Sm[гуру]
> ВОт правильный
Это НЕправильный код.

Ответ от Kuliba kulibin[гуру]
Ну, логично.. . строка Swap ( A, A[K] ); и не сможет откомпилироваться, т. к. процедура Swap ожидает тип Pointer для обоих параметров, а ей в первом параметре Array подсовывают. Кроме того, каким образом должно выполняться сравнение A[J]^ < A[K]^ ? Элемент массива имеет тип Pointer, т. е. абстрактный указатель ни на что - просто адрес памяти. Как должны сравниваться два "ничто"? Вот если бы был не Pointer, а, скажем (чисто для примера) , ^Integer, тогда было бы понятно - после разыменования указателей мы имеем два Integer, которые мы спокойно можем сравнить...

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Помогите с типом поинтер в Delphi
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*