假设我的函数传入了这样的数组:
int someFunction ( SomeClass * const * array, int arr_size ) { }
这是一些结构的数组:
struct SomeStruct {
int value;
int value2;
};
我想要实现的是在该函数中声明的对象内部进行引用:
int someFunction ( SomeStruct * const * array, int arr_size )
{
NewClass newclass (array, arr_size);
}
我的构造函数看起来像这样:
Newclass::NewClass( SomeStruct * const * array, int arr_size )
{
SomeStruct ** myReference = new SomeStruct * [arr_size];
for (int i = 0; i < arr_size; ++i)
{
myReference[i] = array[i];
}
myReference[0] -> value = 10;
}
现在,如果我想打印出数组中第一个元素的值,我得到的只是零。
int someFunction ( SomeStruct * const * array, int arr_size )
{
NewClass newclass (array, arr_size);
cout << array[0] -> value << endl;
}
输出:
0
甚至可以从类中引用非对象吗?如何让我的参考数组更改源数组?我之前将该函数中的引用数组作为非对象,并且一切正常。不,我不能把它留在那里。