我想知道 C/C++ 是否允许在函数调用中使用“const int **”?
假设我有一个矩阵,可以通过指针到指针来访问它。当我想使用这个矩阵,并禁止修改这个矩阵中的任何值时,我可以执行“func(const int **mat)”吗?我已经尝试过了,但是当我执行类似“a = mat[0][0]”的操作时,会出现错误消息。
我想知道是否允许使用“const int **”或者正确的方法是什么?
谢谢!
最佳答案
const
修饰符绑定(bind)到其左侧的标记。如果全部放在左边,则向右移动一位。所以当你写const int **
时,它的意思是int const **
:最终指向的整数是常量,但指针可能被操作。这可能正是您想要的。
因此,如果您收到错误,可能是因为您的 a
没有引用 int const
(或 -- const int
code>),但只是一个 int
。
关于c - C 中是否有常量指针指向指针的机制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31620505/