永发信息网

double*做参数传入,参数使用时未初始化

答案:2  悬赏:10  手机版
解决时间 2021-12-30 18:17
  • 提问者网友:寂寞撕碎了回忆
  • 2021-12-30 09:44
void main()

{
double* m_pPCAmat;
initPLBP( parameter1, parameter2, m_pPCAmat);
}

void initPLBP( parameter1, parameter2, double* m_pPCAmat)
{
m_pPCAmat = new double[m_PCAdim * 80];
}

在运行时就会出现“The variable 'm_pPCAmat' is being used without being initialized.”

我希望m_pPCAmat在子函数中被改变后,返回到main函数中还能继续使用
最佳答案
  • 五星知识达人网友:行雁书
  • 2022-01-22 07:13
改成这样试试:
void main()

{
double* m_pPCAmat;
initPLBP( parameter1, parameter2, &m_pPCAmat);
}

void initPLBP( parameter1, parameter2, double** m_pPCAmat)
{
*m_pPCAmat = new double[m_PCAdim * 80];
}
全部回答
  • 1楼网友:独钓一江月
  • 2022-01-22 08:25
int double 是基本数据类型,作为参数传递时是值传递; integer double是包装类,是引用传递
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯