gpt4 book ai didi

c++ - 函数参数 : accepting a null value also

转载 作者:行者123 更新时间:2023-11-28 00:38:55 26 4
gpt4 key购买 nike

大家好,我目前正在编写一个更改边框颜色的函数。

void ChangeColor(D3DXVECTOR4 xColorLeft, D3DXVECTOR4 xColorRight, D3DXVECTOR4 xColorTop, D3DXVECTOR4 xColorBot);

现在这一切都很好,但是我想给我的用户一些易用性,例如,如果 ChangeColor 被调用为 NULL 值,它不会改变任何东西。

例子:

ChangeColor(D3DXVECTOR4(0.0f, 0.0f, 0.0f, 1.0f), NULL, NULL, NULL);

通过此函数调用,我将更改左边框的颜色,但由于在其他边框上调用了 NULL,我会将它们保留为默认值。当我尝试这个调用时,我收到一些关于包含 ints 的重载方法的错误。

如果不使用 ChangeColorLeft 等方法,这是否可能?如果是这样,我该怎么做?

提前谢谢你。

最佳答案

幸运的是,一个 D3DXVECTOR4 是一组四个 float ,并且 float 支持像 NAN 这样的魔法值。那么这个怎么样:

const D3DXVECTOR4 NoColor(NAN, NAN, NAN, NAN);
void ChangeColor(
D3DXVECTOR4 xColorLeft = NoColor,
D3DXVECTOR4 xColorRight = NoColor,
D3DXVECTOR4 xColorTop = NoColor,
D3DXVECTOR4 xColorBot = NoColor);

然后你只需检查内部是否每个参数都是 NAN,如果是,则不要更改那个。

关于c++ - 函数参数 : accepting a null value also,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19834705/

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