次のようなヘッダーを持つ関数があります。
BPS_API int dialog_event_get_filebrowse_filepaths(bps_event_t* event,
char** file_paths[], int* num_paths);
これは、疑問に思っている人のためのBlackBerry 10のネイティブSDKからのものです(ここにあります)。
問題は、2番目の議論として何を提供することになっているのかということです。この関数は、選択したファイルパスを返すために、charポインタの配列を設定する必要があります。
私はそれをこのように呼ぼうとしました:
char* ar[2];
dialog_event_get_filebrowse_filepaths(event, &ar, &number_paths);
また、QNXMomenticsから次のようなエラーが発生します。
cannot convert 'char * (*)[2]' to char * * * for argument 2 to int
dialog_event_get_filebrowse_filepaths(bps_event_t *, char * * *, int *)
これはそれを呼び出すための最も論理的な方法のようです。私が理解している限り、それらを設定するには、ポインタの配列のメモリアドレスが必要です。しかし、私が宣言した場合:
char** ar[2];
dialog_event_get_filebrowse_filepaths(event, ar, &number_paths);
それは機能しますが、この方法で、charポインターへのポインターの配列(char *の配列の配列)を作成しました。これは私が本当に関数に提供すべきものですか?