怎么定义一个动态数组能让一个类的不同函数调用该数组的值

C++语言 码拜 9年前 (2016-06-02) 1019次浏览
如题,未delete的动态数组不是可以任意范围使用吗?怎么好像NumInLay 这个只能在声明定义的函数内使用?
另外多问一句,怎么定义一个动态数组能让一个类的不同函数调用该数组的值?

void BPNet::init()  
{  
//隐藏层层数
	int hidenLayNum=2;
	int* NumInLay = new int[hidenLayNum+2];
	//输入层节点数
    NumInLay[0]=InLayerNodesNum;
	//输出层节点数
	NumInLay[hidenLayNum+1]=OutLayerNodesNum;
	//下标由1到hidenLayNum,代表每层隐藏层的神经元个数
	NumInLay[1]=5;
	NumInLay[2]=5;
}
int BPNet::train()  
{
double a =NumInLay[1];//这里报错说NumInLay是未声明标识符
}
解决方案

80

int* NumInLay 定义在函数内,这个指针本身是局部变量
必须通过返回值,或其他方式传递到函数外部,才能够在其它函数内使用
一般来说,这个传递就是把指针的值,
复制出去(赋值给类的成员变量就可以了),
或 return 语句返回。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明怎么定义一个动态数组能让一个类的不同函数调用该数组的值
喜欢 (0)
[1034331897@qq.com]
分享 (0)