gpt4 book ai didi

c++ - 无法创建对类的新实例的引用

转载 作者:行者123 更新时间:2023-11-30 02:34:08 25 4
gpt4 key购买 nike

我是 C++ 的新手,正在尝试学习指针和引用的概念。我尝试使用下面的语句创建一个引用和一个指向类的新实例的指针

Animal *rA = new Animal();//works fine

Animal &rA = new Animal();//compiler prints error: non-const lvalue reference
//to type 'Animal' cannot bind to a temporary of type 'Animal *'

由于我的知识有限,我无法理解编译器打印出的错误信息。有人可以向我解释一下这是什么意思吗?

最佳答案

new 返回一个指针。必须使用实际对象而不是指向对象的指针来初始化引用。

Animal &rA = * new Animal;

..会起作用,但在您知道自己在做什么之前,通常不应该使用 new

Animal A;
Animal &rA = A;

...工作时不会陷入您应该远离的肮脏环境。

关于c++ - 无法创建对类的新实例的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34779268/

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