compiler error saying invalid initialization of reference of type somethingamp; from expression of type something*(编译器错误,提示对 somethingamp; 类型的引用初始化无效来自某物类型的表达*)
问题描述
我有一个像
test(something &)
我正在做
something *ss = new something();
我说
test(ss)
编译器抱怨说初始化了 something& 类型的引用from 表达 something * .
compiler complains saying initialization of reference of type something& from expression something * .
但不是 new 返回地址并且 ss 必须指向该地址!所以如果测试期待一个参考是不是它 ss 代表一个参考?
but isn't that new returns the address and ss must point to that address ! so if test is expecting a reference is not it ss represents a reference ?
推荐答案
你的函数需要一个普通的 something
对象.你不需要在这里使用指针:
Your function expects a normal something
object. You don't need to use a pointer here:
something ss;
test(ss);
当您的函数签名看起来像 f(T&)
时,这意味着它接受对 T
对象的引用.当签名为f(T*)
时,表示它接受一个指针到一个T
对象.
When your function signature looks like f(T&)
, it means that it accepts a reference to a T
object. When the signature is f(T*)
, it means that it accepts a pointer to a T
object.
这篇关于编译器错误,提示对 something& 类型的引用初始化无效来自某物类型的表达*的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:编译器错误,提示对 something& 类型的引用初始化无效来自某物类型的表达*
- 近似搜索的工作原理 2021-01-01
- 一起使用 MPI 和 OpenCV 时出现分段错误 2022-01-01
- 如何对自定义类的向量使用std::find()? 2022-11-07
- 与 int by int 相比,为什么执行 float by float 矩阵乘法更快? 2021-01-01
- STL 中有 dereference_iterator 吗? 2022-01-01
- C++ 协变模板 2021-01-01
- 从python回调到c++的选项 2022-11-16
- 使用/clr 时出现 LNK2022 错误 2022-01-01
- Stroustrup 的 Simple_window.h 2022-01-01
- 静态初始化顺序失败 2022-01-01