【发布时间】:2019-04-25 00:21:12
【问题描述】:
float_t rotations[6] = {1.0f, 2.5f, 3.0f, 4.0f, 5.0f, 6.0f};
fla_algo_config_t config_alt = {20.0f,
20.0f,
{1.0f, 2.5f, 3.0f, 4.0f, 5.0f, 6.0f},
mock_error_callback,
nullptr};
fla_algo_config_t config = {20.0f,
20.0f,
rotations,
mock_error_callback,
nullptr};
config_alt 有效。但是,每次我想将整个数组传递给结构时,写出整个数组很麻烦。我想直接传递rotations数组,所以不需要重写。
但是,我收到以下错误:
error: array must be initialized with a brace-enclosed initializer
nullptr};
我猜它希望我用大括号括起来旋转。但是,如果我这样做,现在我将传递一个数组数组,但 fla_algo_config_t 需要一个数组。
如何传递数组?我试过传递 *rotations,但这只会传递第一个值。
【问题讨论】:
-
将
float_t ...[6]替换为std::array<float_t, 6>(也在fla_algo_config_t声明中)并想知道您的问题是如何消失的。 -
很遗憾,我做不到。我无法控制 fla_algo_config_t 声明。
-
你可以像
{rotations[0], rotations[1], rotations[2], ... rotations[5]}一样初始化它。 -
fla_algo_config_t的定义是什么?