0

我想知道 C/C++ 是否允许在函数调用中使用“const int **”?

假设我有一个矩阵,可以通过指针指针访问它。当我想使用这个矩阵,并且禁止修改这个矩阵中的任何值时,我可以做“func(const int **mat)”吗?我已经尝试过了,但是当我执行类似“a = mat[0][0]”的操作时,会出现错误消息。

我想知道是否允许使用“const int **”或者正确的方法是什么?

谢谢!

4

1 回答 1

1

const修饰符绑定到它左侧的标记。如果将其全部放在左侧,则将其向右移动一位。所以当你写的时候const int **,它的意思是int const **:最终指向的整数是常数,但指针可能被操纵。这可能正是您想要的。

因此,如果您遇到错误,可能是因为您a没有引用int const(或 -- const int),而只是int.

于 2015-07-24T22:12:25.340 回答