我想知道C / C ++允许在函数调用中使用“const int **”吗?
假设我有一个矩阵,可以通过指针指针访问。当我想使用这个矩阵,并禁止修改此矩阵中的任何值时,我可以执行“func(const int ** mat)”吗?我试过这个,但是当我做这样的事情“a = mat [0] [0]”时,会出现错误信息。
我想知道是否允许使用“const int **”或者这样做的正确方法是什么?
谢谢!
答案 0 :(得分:1)
const
修饰符绑定到其左侧的标记。如果它全部放在左侧,则将其移动到右侧一个位置。因此,当您编写const int **
时,它意味着int const **
:最终指向的整数是常量,但指针可能会被操纵。这可能完全你想要的东西。
因此,如果您收到错误,可能是因为a
没有引用int const
(或 - const int
),而只是int
1}}。