简体   繁体   中英

Array too many initializer values

I have a function declaration as follows

void set_values(float values[4][4]);

If I call the function like this everything is OK.

float values[4][4] = {
    { 1, 2, 3, 4 },
    { 1, 2, 3, 4 },
    { 1, 2, 3, 4 },
    { 1, 2, 3, 4 } 
};
mat1.set_values(values);

However i thought that I could take the array declared in the curly braces and pass it directly into the function like this:

    mat1.set_values({
        { 1, 2, 3, 4 },
        { 1, 2, 3, 4 },
        { 1, 2, 3, 4 },
        { 1, 2, 3, 4 } 
    });

But this gives me a compile error too many initializer values

Why does the first code work but not the second one?

您的函数需要一个数组对象,而不是这种对象的初始化列表。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM