私の関数に次のように配列が渡されたとしましょう:
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
クラスから非オブジェクトを参照することさえ可能ですか? 参照配列を取得してソース配列を変更するにはどうすればよいですか? 以前はその関数に参照配列を非オブジェクトとして持っていましたが、すべて正常に機能しました。いや、そのままにしておくわけにはいかない。