gpt4 book ai didi

iphone - 指针类型不兼容??奇怪

转载 作者:行者123 更新时间:2023-12-01 18:32:36 27 4
gpt4 key购买 nike

我需要获得方程式系统的解决方案。为此,我使用函数sgesv_()。

一切都很好,它使我感到解决方案的正确结果。

但是我得到一个奇怪的警告。

警告:从不兼容的指针类型传递'sgesv_'的参数3

我正在使用该功能,就像Apple在WWDC视频上使用它一样。

我究竟做错了什么?

a1,a2,b1,b2,c1,c2是浮点数

        __CLPK_integer info;
__CLPK_integer n=2;
__CLPK_integer nb=1;
__CLPK_integer ipiv[n];
float A[n][n];
A[0][0]=a1;
A[0][1]=a2;
A[1][0]=b1;
A[1][1]=b2;
float B[n];
B[0]=-c1;
B[1]=-c2;
sgesv_(&n, &nb, A, &n, ipiv, B, &n, &info);

最佳答案

第三个参数是float *,但是您要传递2D浮点数组。碰巧这些浮标的顺序正确。要摆脱警告,您可以执行以下操作:

    sgesv_(&n, &nb, &A[0][0], &n, ipiv, B, &n, &info);

或这个:
    sgesv_(&n, &nb, A[0], &n, ipiv, B, &n, &info);

甚至这个:
    sgesv_(&n, &nb, (float *)A, &n, ipiv, B, &n, &info);

或者您也可以“展平”您的A数组,例如
    float A[n * n];
A[0 * n + 0] = a1;
A[0 * n + 1] = a2;
A[1 * n + 0] = b1;
A[1 * n + 1] = b2;
// ...
sgesv_(&n, &nb, A, &n, ipiv, B, &n, &info);

关于iphone - 指针类型不兼容??奇怪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7081428/

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