错误无法将“ float *”转换为“ float”

马修斯·索特罗(Matheus Sotero)

我是C ++的新手,我试图了解函数中数组的行为。这是矩阵向量乘法的尝试。

#include <stdio.h>

#define N 4
float Gi[N][N] = {{ 0.0,         0.0,         0.0,         1.0},
                  { 0.0,  2.57142857,  3.42857143,  1.28571429},
                  {-0.0,  3.42857143,  8.57142857,  1.71428571},
                  { 1.0,  1.28571429,  1.71428571,  0.14285714}};

void mult(
        float vec_I[N],
        float vec_V[N]){
    int acc;
    for(int i = 0; i<N; i++){
        acc = 0;
        for(int j = 0; j<N; j++){
            acc += Gi[i][j]*vec_I[j];
            }
        vec_V[i] = acc;
    }
}

float solver(){
    float out[N];

    float I[N] = {0.0, 0.0, 0.0, 10.0};
    float V[N] = {0.0, 0.0, 0.0, 0.0};

    mult(I, V);
    
    out[0] = V[0];
    out[1] = V[1];
    out[2] = V[2];
    out[3] = V[3];
    return out;
}

int main(){
    float outPrint[4];

    outPrint = solver();

    printf("| %d |\n", outPrint[0]);
    printf("| %d |\n", outPrint[1]);
    printf("| %d |\n", outPrint[2]);
    printf("| %d |\n", outPrint[3]);

    return 0;
}

当我尝试编译时,编译器告诉我“ [Error]无法将'float *'转换为'float'作为回报​​”,这涉及到求解器函数的返回(第34行)。我不明白为什么。

嗨-我很喜欢

数组不是一等公民。因此,它们不能按值返回。您将必须像这样使用结构包装器:

struct matrix_t
{
  float data[16];
};

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法将“ float *”转换为“ float”

来自分类Dev

错误:无法将“ float(*)(int)”转换为“ float”

来自分类Dev

错误:无法将“float”转换为“float*”作为参数

来自分类Dev

错误:无法将参数“1”的“float*”转换为“float”

来自分类Dev

无法在初始化时将 float float 转换为 float

来自分类Dev

错误如下:ValueError:无法将float NaN转换为整数

来自分类Dev

矩阵乘法错误:无法将系列转换为 <type 'float'>

来自分类Dev

将Float转换为Int

来自分类Dev

将PoolByteArray转换为float

来自分类Dev

将float转换为int

来自分类Dev

将float转换为整数

来自分类Dev

将float转换为sprintf

来自分类Dev

无法将varchar转换为float

来自分类Dev

'无法将参数'1'的'float'转换为'float *'

来自分类Dev

2错误-无法将类型system.collection.generic.list <float>隐式转换为float,也无法将float []类型隐式转换为float

来自分类Dev

无法将'Float'类型的值转换为预期的参数类型'Binding <Float>'错误Swift 5.2

来自分类Dev

错误:无法将参数'3'的'float(*)[((((sizetype)((((ssizetype)n)+ -1))+ 1)]'转换为'float(*)[100]'

来自分类Dev

将Column(str)转换为(Float),ValueError:无法将字符串转换为float:'Null'

来自分类Dev

从float *转换为vector <float>

来自分类Dev

如何通过float表示将float转换为uint?

来自分类Dev

如何通过float表示将float转换为uint?

来自分类Dev

Numpy 将 float32 转换为 float64

来自分类Dev

错误:“ Int”不可转换为“ @lvalue Float”

来自分类Dev

错误:“ Int”不可转换为“ @lvalue Float”

来自分类Dev

从 float 转换为 int 时的舍入错误

来自分类Dev

将pandas float系列转换为int

来自分类Dev

将int转换为float / double

来自分类Dev

将VARCHAR(n)转换为精确的FLOAT

来自分类Dev

将float转换为datetime时出错

Related 相关文章

  1. 1

    无法将“ float *”转换为“ float”

  2. 2

    错误:无法将“ float(*)(int)”转换为“ float”

  3. 3

    错误:无法将“float”转换为“float*”作为参数

  4. 4

    错误:无法将参数“1”的“float*”转换为“float”

  5. 5

    无法在初始化时将 float float 转换为 float

  6. 6

    错误如下:ValueError:无法将float NaN转换为整数

  7. 7

    矩阵乘法错误:无法将系列转换为 <type 'float'>

  8. 8

    将Float转换为Int

  9. 9

    将PoolByteArray转换为float

  10. 10

    将float转换为int

  11. 11

    将float转换为整数

  12. 12

    将float转换为sprintf

  13. 13

    无法将varchar转换为float

  14. 14

    '无法将参数'1'的'float'转换为'float *'

  15. 15

    2错误-无法将类型system.collection.generic.list <float>隐式转换为float,也无法将float []类型隐式转换为float

  16. 16

    无法将'Float'类型的值转换为预期的参数类型'Binding <Float>'错误Swift 5.2

  17. 17

    错误:无法将参数'3'的'float(*)[((((sizetype)((((ssizetype)n)+ -1))+ 1)]'转换为'float(*)[100]'

  18. 18

    将Column(str)转换为(Float),ValueError:无法将字符串转换为float:'Null'

  19. 19

    从float *转换为vector <float>

  20. 20

    如何通过float表示将float转换为uint?

  21. 21

    如何通过float表示将float转换为uint?

  22. 22

    Numpy 将 float32 转换为 float64

  23. 23

    错误:“ Int”不可转换为“ @lvalue Float”

  24. 24

    错误:“ Int”不可转换为“ @lvalue Float”

  25. 25

    从 float 转换为 int 时的舍入错误

  26. 26

    将pandas float系列转换为int

  27. 27

    将int转换为float / double

  28. 28

    将VARCHAR(n)转换为精确的FLOAT

  29. 29

    将float转换为datetime时出错

热门标签

归档