我正在尝试将参数传递给函数,并指示const
接收函数应考虑该参数。
我的理解是,以下代码示例显示了确保test
可以使用argv
未声明为 const 的变量调用函数的唯一方法。
void test(const char * const *arr);
int main(int argc, char *argv[], char *env[])
{
test(argv);
}
void test(const char * const *arr)
{
}
但是,gcc 给了我一个警告,如下所示:
E:\Projects\test>gcc -o test test.c
test.c: In function 'main':
test.c:5:2: warning: passing argument 1 of 'test' from incompatible pointer type
[enabled by default]
test.c:1:6: note: expected 'const char * const*' but argument is of type 'char **'
这使我相信我在这里所做的事情在某种程度上是错误的。有没有更好的方法将参数传递给函数,并指示它应该const
由接收函数考虑?