'从 some_type** 到 const some_type** 的无效转换'

2021-12-31 00:00:00 gcc c compiler-errors c++

我有一个函数需要 const some_type** 作为参数(some_type 是一个结构体,该函数需要一个指向这种类型数组的指针).我声明了一个 some_type* 类型的局部变量,并对其进行了初始化.然后我将该函数调用为 f(&some_array),编译器 (gcc) 说:

I've got a function that requires const some_type** as an argument (some_type is a struct, and the function needs a pointer to an array of this type). I declared a local variable of type some_type*, and initialized it. Then I call the function as f(&some_array), and the compiler (gcc) says:

error: invalid conversion from ‘some_type**’ to ‘const some_type**’

这里有什么问题?为什么我不能将变量转换为常量?

What's the problem here? Why can't I convert a variable to const?

推荐答案

参见:为什么不能我将 char ** 传递给需要 const char ** 的函数? 来自 comp.lang.c 常见问题解答.

See: Why can't I pass a char ** to a function which expects a const char **? from the comp.lang.c FAQ.

相关文章