これは簡単な問題だと思いますが、気が狂いそうです: 1 つのメソッドから複数の配列を返したいのですが、呼び出し元のメソッドはそのサイズを事前に知りません。そのため、メソッド内でこれらの配列を作成する必要があり (単に埋めるのとは対照的に)、 を使用してそれらを返すことはできませんreturn
。
だから私が欲しいのは、次のようなメソッドシグネチャです:
void giveMeArray(int[] *anArray)
メソッド署名には、例を単純化するためのパラメーターが 1 つしかありません。次のような署名も使用できると仮定してください
void giveMeArrays(int[] *anArray, float[] *anotherArray)
そのメソッド内でgiveMeArray
、配列を構築します
*anArray = new int[5];
を使用してそのメソッドを呼び出します
int[] result;
giveMeArray(&result);
ただし、これ (メソッド シグネチャから始まる) はすべて、少なくとも構文的に間違っています。申し訳ありませんが、今のところコンパイラ エラーは手元にありません。何が問題なのかわかる方もいらっしゃると思います。
編集std::vector が最良の(最もクリーンな)アプローチであることはわかっています。しかし、皆さん、それは問題ではありませんでした。