开发者

type casting to a dynamic array

开发者 https://www.devze.com 2023-02-24 05:38 出处:网络
Given the following: Type TSomeTypeArray = array of SomeType; var anArray: array of SomeType; function GetSomeTypeArray: TSomeTypeArray;

Given the following:

Type
  TSomeTypeArray = array of SomeType;

var
  anArray: array of SomeType;

function GetSomeTypeArray: TSomeTypeArray; 

I want to write anArray = GetSomeTypeArray(); but the compiler does not like it. Without changing the type of anArray or the return type of GetSomeTypeArrayhow can I typecast T开发者_如何学运维SomeTypeArray to array of SomeType?


You could typecast the left hand side of the assignment:

TSomeTypeArray(anArray) := GetSomeTypeArray();


You can't. You need to declare anArray as of type TSomeTypeArray, then it should work.

Alternatively, you could store the result into another array of type TSomeTypeArray then call SetLength on anArray to the length of the returned array. And finally loop through the two arrays setting the elements of anArray to the elements of the returned array.

0

精彩评论

暂无评论...
验证码 换一张
取 消