void initPLBP(double *mat)
{
if (...)
{
int pcaDim = 10;
int featureDim = 80;
}
mat = new double[10 * 80];
}
void main()
{
double* pcaMat;
initPLBP(pcaMat);
}
当我运行代码时,它说“变量'pcaMat'正在使用而未被初始化”。问题是我无法在主函数中为pcaMat分配内存(由其他一些原因询问)。有什么办法吗?谢谢
答案 0 :(得分:2)
编译器的含义是变量'pcaMat'(指针)未被初始化,因此它在使用之前不指向任何内容。不是指针。
void initPLBP(double *&mat)
{
if (...)
{
int pcaDim = 10;
int featureDim = 80;
}
mat = new double[10 * 80];
}
int main()
{
double* pcaMat = 0;
initPLBP(pcaMat);
}