gpt4 book ai didi

c++ - 将非引用作为引用传递,没有临时变量

转载 作者:太空狗 更新时间:2023-10-29 20:06:57 25 4
gpt4 key购买 nike

我正在尝试执行以下操作:调用一个函数,该函数将引用作为参数而不传递“变量”,仅传递值。我的编译器(gcc)不应该能够制作临时“变量”来发送吗?看起来 mvc 以某种方式做到了(项目中的其他人使用它)。

我有:

foo(Vector&,Vector&)

每当我尝试调用 foo(Vector(1,2,3),Vector(4,5,6)) 时,我都得到 no matching function for call to foo(Vector, vector );注意:候选人是 foo(Vector&,Vector&)

我该怎么办?为什么它不起作用?有什么概念我不明白吗?

谢谢。

最佳答案

Vector(1,2,3) 创建一个临时文件,临时文件不能绑定(bind)到非常量 引用!

所以使参数const为:

void foo(const Vector&, const Vector&)

现在它可以工作了!

关于c++ - 将非引用作为引用传递,没有临时变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5314858/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com