这个问题可能很幼稚,但是:
constC中有关键字吗?constC和C++ 之间是否存在语义和/或语法差异? 我对const关键字非常困惑.我有一个函数接受一个字符串数组作为输入参数和一个接受可变数量的参数的函数.
void dtree_joinpaths(char* output_buffer, int count, ...);
void dtree_joinpaths_a(char* output_buffer, int count, const char** paths);
Run Code Online (Sandbox Code Playgroud)
dtree_joinpathsdtree_joinpaths_a在从参数列表构建了一个字符串数组后,在内部调用.
void dtree_joinpaths(char* output_buffer, int count, ...) {
int i;
va_list arg_list;
va_start(arg_list, count);
char** paths = malloc(sizeof(char*) * count);
for (i=0; i < count; i++) {
paths[i] = va_arg(arg_list, char*);
}
va_end(arg_list);
dtree_joinpaths_a(output_buffer, count, paths);
}
Run Code Online (Sandbox Code Playgroud)
但gcc编译器给我以下错误消息:
src/dtree_path.c: In function 'dtree_joinpaths':
src/dtree_path.c:65: warning: passing argument 3 of 'dtree_joinpaths_a' from incompatible pointer type
Run Code Online (Sandbox Code Playgroud)
当我改为char** paths = malloc(count);时 …