gpt4 book ai didi

c++ - 试图修复转换警告

转载 作者:行者123 更新时间:2023-11-28 01:37:21 25 4
gpt4 key购买 nike

我收到以下错误:

warning: conversion to ‘short unsigned int’ from ‘int’ may alter its value [-Wconversion]

方法

template<typename T> bool get_int(FILE* IN, T* val) {
T rc = 0;
for (size_t i = 0; i < sizeof(T) << 3; i += 8) {
int temp = getc(IN);
if (temp == EOF)
return false;
rc |= (T)temp << i;
}
*val = rc;
return true;
}

当我有台词的时候

unsigned short foo;
get_int<unsigned short>(IN, &foo);

我怎样才能摆脱这个 GCC 警告?

最佳答案

试试这个:

rc |= (T)(temp << i);

(T)temp 再次提升为 int 以进行位移。

关于c++ - 试图修复转换警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48698163/

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