我正在尝试将float*(C++)的默认值设置为函数参数.例如 -
Foo(float* x = (a default value should be {0,250}))
Run Code Online (Sandbox Code Playgroud)
有谁知道如何做到这一点?
由于x
是指针,因此无法为其设置默认数值.您只能设置默认地址.要模拟给它一个默认值,float
在float[2]
某个地方有一个常量(或者在这种情况下是一个)并x
改为默认值.
const float default_x[2] = { 0.f, 250.f };
void foo(const float * x = default_x) {
// use x
}
Run Code Online (Sandbox Code Playgroud)
请注意,使用c样式数组容易出错,在现代c ++代码中不推荐使用.相反,更喜欢std::array
在编译时或std::vector
其他时候知道的大小.例如,以下代码将获得类似的结果,并且使用起来更安全:
#include <array>
const std::array<float, 2> default_x = { 0.f, 250.f };
void foo(const std::array<float, 2> & x = default_x) {
// use x
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
63 次 |
最近记录: |