非对象数组比方说,我的功能都排列在它通过这样的:的借鉴意义
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
它甚至有可能从类指非对象?我如何让我的参考数组更改源数组?我曾在该函数中的引用数组作为非对象之前,一切正常。不,我不能只是离开它。
没有[SSCCE](http://sscce.org/),没有特别的问题(我做错了什么)太宽泛/不清楚)。编辑!! –
@ g-makulik不知道什么是我的问题不清楚。尽管编辑它。 – Saraph
我不知道你真的想做什么。为什么创建'NewClass'只改变'array'中的值?但是你的'NewClass'构造函数没有做你认为它的做法,'* const *'是什么? – crashmstr