このような多次元動的配列を作成しました
int N;
cin >> N;
bool ** hap = new bool*[N];
for(int i = 0; i < N; i++)
hap[i] = new bool[N];
そして、うまくいくようですが、この配列を関数に渡す必要があります...
どうすればいいですか?
ありがとう
このような多次元動的配列を作成しました
int N;
cin >> N;
bool ** hap = new bool*[N];
for(int i = 0; i < N; i++)
hap[i] = new bool[N];
そして、うまくいくようですが、この配列を関数に渡す必要があります...
どうすればいいですか?
ありがとう
宣言したとおりに渡します。ブール**として。定義の例を次に示します。
void myFunc(bool** param)
{
// Do stuff with param here, indexing it normally
}
次に、次のように関数を呼び出すことができます。
myFunc(hap);
基本的に、多次元配列を返す場合と同じことが適用されます。
void f(matrix_2d const& mat) {
// do something.
}
matrix_2d mat = { {1, 2}, {3, 4} };
f(mat);
の適切な定義についてはmatrix_2d
、例えば:
using matrix_2d = std::vector<std::vector<int>>;
(このコードには C++11 が必要ですが、原則として以前と同じことが当てはまります。)