c++ - 如何将float值传递给以double为引用值的函数

标签 c++ pass-by-reference

我有一个函数,其原型(prototype)如下所示:

void example (double &var);

但是,我的问题是我可能还需要使用一些浮点值来调用函数。 例如

float temp=10.1;

example(temp)

如果我这样做,我的代码不会编译,可能是因为将浮点值传递给双引用变量。

我想避免为 double 和 float 编写重载函数。

有人可以建议一个更清洁/更好的方法来实现这个吗?

函数基本上是一个截断函数,它截断给定的输入&是的,原始文件被修改了。

谢谢。

最佳答案

模板函数怎么样?

template <typename T>
void example (T &var);

编译器将替换 floatdouble 用法(请记住 C++ 模板是具有类型安全性的宏)

关于c++ - 如何将float值传递给以double为引用值的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9395433/

相关文章:

c++ - 在c++中使用21h中断的9个函数

c++ - 在变量返回之前存储值

c++ - 使用 MinGW + Eclipse 在 Win32 程序中播放声音

c - 在 C 中将未初始化的二维数组作为参数传递

c++ - 传递对函数的引用

c++ - 这应该称为互斥体吗?

c++ - 如何在 C++ 中创建包含从 0 到 N 的元素的行 vector ?

erlang - 如何在 Erlang 中使用变量作为引用传递?

java - Java 是 "pass-by-reference"还是 "pass-by-value"?

c++ - C++ 中用 & 和 * 声明的函数参数的区别