gpt4 book ai didi

arrays - 如何为数组设置属性?

转载 作者:行者123 更新时间:2023-12-02 05:20:32 25 4
gpt4 key购买 nike

我有:

@property float x(float[2] vector)
{
return vector[0];
}

@property void x(float[2] vector, float value)
{
vector[0] = value;
}

我可以声明一个数组,例如 float[2] a; 然后通过简单地调用 a.x 获取数组的第一个元素,但是如果我想设置a[0],我不能调用a.x = 3.14。它不会给编译器带来问题,也不会抛出异常。稍后,当我得到 a[0] 时,它说它是 NaN,即 float.init。这意味着从未设置 a[0] 并且 a.x 同时有效和​​无效。

我只想要一个 float 组并有一个获取和设置属性 x。有没有办法做到这一点?我知道我可以使用 a.x(3.14) 来设置 a[0],但我想让它看起来好像 x 是一个a 的成员属性。

最佳答案

静态数组按值传递。您需要使用 ref 通过引用传递:

@property float x(ref float[2] vector)
@property void x(ref float[2] vector, float value)

注意:我指的是 D2。 AFAIK 在 D1 静态数组中过去是通过引用传递的,但在 D2 中它们默认是通过值传递的。

关于arrays - 如何为数组设置属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13914798/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com