【发布时间】:2026-01-16 13:30:01
【问题描述】:
大家好,我目前正在编写一个更改边框颜色的函数。
void ChangeColor(D3DXVECTOR4 xColorLeft, D3DXVECTOR4 xColorRight, D3DXVECTOR4 xColorTop, D3DXVECTOR4 xColorBot);
现在这一切都很好,但是我想给我的用户一些易用性,例如如果使用 NULL 值调用 ChangeColor,它不会改变任何东西。
例子:
ChangeColor(D3DXVECTOR4(0.0f, 0.0f, 0.0f, 1.0f), NULL, NULL, NULL);
通过这个函数调用,我会改变左边框的颜色,但由于在其他边框上调用了 NULL,我会将它们保留为默认值。当我尝试这个调用时,我收到一些关于包含 ints 的重载方法的错误。
如果不使用ChangeColorLeft 等任何方法,这是否可能?如果是这样,我会怎么做?
提前谢谢你。
【问题讨论】:
-
你试过默认参数了吗?
-
默认参数是什么意思?
-
ChangeColorLeft的优势在于意图明确,否则您必须记住顺序(并且没有顺序是完美/直观的))
标签: c++ methods parameters arguments