gpt4 book ai didi

c++ - 在 C++ 中将指针数组作为参数传递

转载 作者:行者123 更新时间:2023-11-28 00:59:12 24 4
gpt4 key购买 nike

我找不到将 float *[] 类型的指针数组作为参数传递给函数的正确语法。

real * pp[] = { _osc[0].get_samples_ptr(), _osc[1].get_samples_ptr() };
_mod.iterate_sample_loop( samples, p_syn_ctx, pp );

没问题,但是

_mod.iterate_sample_loop( samples, p_syn_ctx, 
{ _osc[0].get_samples_ptr(),
_osc[1].get_samples_ptr() } );

iterate_sample_loop 在哪里:

void mod::iterate_sample_loop( u32 samples, 
synth_context * p_syn_ctx,
real * p_inputs[] ) ...

结果“错误:'xxx' 标记之前的预期主表达式”。

最佳答案

您不能使用 { _osc[0].get_samples_ptr(), _osc[1].get_samples_ptr() } 创建临时数组。据我所知,创建临时数组的唯一方法是这样的:

typedef int array_type[3];

void f(int the_array[]) {}

int main() {
f(array_type{1,3,4});
}

不过这只适用于 C++11。我认为在 C++03 中根本不可能。

关于c++ - 在 C++ 中将指针数组作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9658567/

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