2

たとえば、次のように宣言された関数がある場合:

void f1(int* a);

単純なベクトル: std::vector<int> v- このベクトルをこの関数への入力として使用できます。

f1(&v[0]);

しかし、 function がある場合はどうでしょうf2

void f2(int** a);

および別のベクトル: std::vector<int> *v. ベクターデータでどのように使用できますか?

f2現在、関数( )を使用する動的に割り当てられたテーブルがありますf2(&tab,tablength)。正常に動作しますが、追加で送信する必要がありますtablength。現在、プログラムのロジックを少し変更しているため、従来のテーブルの代わりにベクトルを使用できると考えました (サイズを変更できる配列が必要なため)。でも積みました。簡単に言えば、は の定数値によるf2乗算表を実装する関数です。tabGF(2^8)

4

3 に答える 3

4

ベクトルとポインターへのポインターは別のものです。一方から他方に変換するロジックを実装する必要があります。

この配列を引数として に渡す前に、動的配列を割り当て、ベクターからデータをコピーする必要がありますf2。また、配列のサイズを渡すために別の引数を追加する必要があります。

于 2013-09-02T15:11:37.267 に答える