55问答网
所有问题
warning C4305: 'initializing' : truncation from 'const int' to 'char'
我在VC++中经常使用数组,就会发生上面这种警告,,求解,利用数组要怎么用?
举报该问题
推荐答案 推荐于2017-10-11
警告:c4305初始化:截断从const int”字符
c++ 整数默认是 int(32 位系统位 4 字节) 类型,赋值给 char 类型,将可能面临数据截断问题。
解决方法有两种:
一是强制转换,如将数据写成 (char)0x40;
另外一种方法是不予理会,如果觉得出现警告烦人,可以再出现警告地方的前面,加上杂注:
#pragma warning(disable:4305)
#pragma warning(disable:4309)
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://55.wendadaohang.com/zd/IQcFIIG4IeLcF8FcGRL.html
其他回答
第1个回答 推荐于2017-10-04
c++ 整数默认是 int(32 位系统位 4 字节) 类型,赋值给 char 类型,将可能面临数据截断问题,解决方法有两种,一是强制转换,如将数据写成 (char)0x40;另外一种方法是不予理会,如果觉得出现警告烦人,可以再出现警告地方的前面,加上杂注:
#pragma warning(disable:4305)
#pragma warning(disable:4309)本回答被提问者采纳
相似回答
...
C4305:
'
initializing
' :
truncation
from
'
const
double' to 'flo...
答:
另外,一般不推荐用float,精度差是一方面,另一方面是在c++中小数(如0.1)是默认为double的,你不可以这样子:float x=78.6;编译会报错,
warning
C4305:
'
initializing
' :
truncation
from
'
const
double ' to 'float '原因:在C/C++中,VC++和LINUX都是,上述语句等号右边78.6,我们以为它是...
warning
C4305:
'
initializing
' :
truncation
from
'
const
double' to...
答:
double 类型的。因此在你的初始化中 x = 3.6;这一句,x 是 float 类型的,但是 3.6 是 double 类型的,由于它是常量,所以编译器称为
const
double。double 是不能隐式转换为 float 的。另外,请文明提问。
C++编程菜鸟问题
答:
一、
warning
C4305:
'
initializing
' :
truncation
from
'const double' to 'const float'const float pai=3.1415926; 浮点型常数默认为double类型,而你定义的pai是float类型,会进行隐式转换,丢失精度,建议改为
:const
double pai=3.1415926;二、error C2679: binary '>>' : no operator defin...
warning
C4305:
'argument' :
truncation
from
'
const
int
' to...
答:
‘男’这个是中文字符,一般它占用两个字符。这里编译器可能根据整数提升规则认为‘男’是
int
类型。因为你的参数是char,这里相当于你将int截成一个char,所以编译器给出警告。你可以试着将‘男’改为类似‘M’,看编译器是否会警告。
warning
C4305:
'
initializing
' :
truncation
from
'
const
double' to...
答:
错误不是double不能转成float 而是你转了以后这个变量就不是
const
,这样就可以被修改了 编译器是不可能允许这种情况出现的 所以你要么去掉那个const的定义,要么在你的float前加个const orz,我没看前面的,因为通常情况下只有人问error的,没想到LZ居然是在问
warning
因为很早开始就不在意warning了,反正...
大家正在搜
initializing and
without warning
initializingdisk
waring和warning
0error0warning
卡在initializing
一直initializing
initializing电脑
开机卡在initializing
相关问题
C语言问题:'initializing' : truncat...
warning C4305: 'initializing' ...
truncation from 'const int' to...
c语言中'initializing':truncation ...
warning C4305: 'initializing' ...
C语言中char a='\82'输出a,结果为2,为什么会是...
c语言中'–1'是一个字符吗
C++编程中遇到的错误