变量在传递数组时未初始化而被使用

variable is being used without being initialized when passing the array

本文关键字:初始化 数组 变量      更新时间:2023-10-16
void initPLBP(double *mat)
{
    if (...)
    {
        int pcaDim = 10;
        int featureDim = 80;
    }
    mat = new double[10 * 80];
}

void main()
{
    double* pcaMat;
    initPLBP(pcaMat);
}

当我运行代码时,它说"变量'pcaMat'正在使用而未初始化"。问题是我不能在主函数中为pcaMat分配内存(由其他一些原因提出)。有解决办法吗?谢谢你

编译器的意思是变量'pcaMat'(指针)没有被初始化,所以它在使用之前不指向任何东西。不是目标。

void initPLBP(double *&mat)
{
    if (...)
    {
        int pcaDim = 10;
        int featureDim = 80;
    }
    mat = new double[10 * 80];
}
int main()
{
    double* pcaMat = 0;
    initPLBP(pcaMat);
}