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函数中还能继续使用
double*做参数传入,参数使用时未初始化
答案:2 悬赏:10 手机版
解决时间 2021-12-30 18:17
- 提问者网友:寂寞撕碎了回忆
- 2021-12-30 09:44
最佳答案
- 五星知识达人网友:行雁书
- 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];
}
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是包装类,是引用传递
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯