【发布时间】:2021-07-27 09:29:10
【问题描述】:
假设我们有这个功能
void something(int a)
{}
在主函数中我们这样做
int main()
{
const int a=7;
something(a);
}
这会被视为错误吗?
【问题讨论】:
-
请记住,参数是通过 value 传递的。这意味着如果
main变量a被复制 到something参数变量a中的值。所以简而言之,你显示的内容很好,不会导致任何错误。 -
@Someprogrammerdude 好吧,如果它是通过引用传递的,那会有所不同吗?
-
是的,这是一个错误。如果一个函数想要一个非常量类型是因为它想要改变值。如果你传递一个 const,你就不能改变它。
-
非 const 引用不能绑定到 const 变量。所以是的,那么它应该会导致构建错误。
-
.... 算上所说的,问题是,你要修改
a吗?