我有一个变量uint16_t a=35;并且有一个函数

UINT Read(unsigned int& nVal);

如何将a作为Read()传递给unsigned int&

如果我这样通过
Read(a);

我收到以下错误:

最佳答案

您将需要将该值复制到一个(命名的)临时变量中,调用该函数,然后再复制该临时变量(可能在检查溢出后)。

uint16_t a = 35;
...
unsigned int temp = a;
const unsigned int result = Read(temp);
// check for overflow here
a = temp;

当然,如果您可以将a的定义更改为unsigned int,那么这要简单得多(但由于其他原因,我认为这是不可能的)。

关于c++ - 在C++中,如何使用参数unsigned int&传递uint16_t变量给函数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51190880/

10-14 09:10