gpt4 book ai didi

c++ - 没有已知的从指针类型到指针引用的转换

转载 作者:行者123 更新时间:2023-11-28 06:56:40 24 4
gpt4 key购买 nike

我的代码看起来有点像这样:

struct Ifoo: virtual public Ibar {  
...
}

struct foo : public Ifoo, public bar {
...
}

还有一个声明如下的函数:

bool function(Ifoo *&ref);

它的名字是这样的:

foo *variable = new foo();
bool value = function(dynamic_cast<Ifoo*>(foo));

我收到以下错误:

_No known conversion between types Ifoo* and Ifoo*&_

但是,如果我执行以下操作:

Ifoo *variable = new foo();  
bool value = function(foo);

然后就可以了!我真的不明白为什么。你能帮我一下吗?

最佳答案

转换的结果是临时的。您不能将临时值与非常量左值引用绑定(bind)。

为什么要通过引用传递指针?函数是否修改它?如果函数存储指向 Ifoo 的不同子类的指针,类型安全会发生什么情况?

关于c++ - 没有已知的从指针类型到指针引用的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23068943/

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