有一个带有以下头部的函数:
BPS_API int dialog_event_get_filebrowse_filepaths(bps_event_t* event,
char** file_paths[], int* num_paths);
这是来自黑莓10本地SDK的内容,如果有人想知道它在哪里可以找到(可以在这里找到)。
问题是:我应该提供什么作为第二个参数。这个函数应该填充一个char指针数组以便返回所选文件路径。
我尝试以这种方式调用它:
char* ar[2];
dialog_event_get_filebrowse_filepaths(event, &ar, &number_paths);
我在QNX Momentics中遇到了以下错误:
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** file_paths[]
,这是一个指向char
指针的指针数组(可能是指向char
数组的指针数组),因此请将其作为第二个示例提供。在调用之前,您可能需要为数组成员分配存储空间。 - Daniel Fischer