我在VC编译时出现 warning C4305: 'initializing' : truncation from 'const int' to 'char'这样的错误,很弱智,还请高手指点,怎么解决,去掉这个警告?

解决方案 »

  1.   

    有个pragma命令可以去掉这个警告,好像是disable什么,详细的你查查MSDN吧。
      

  2.   

    看看你的程序的那一行,是将int型的值直接赋给了char型变量或数组造成的,应该这样写:char ss[128];
    int ii;
    ii = 10;
    sprintf(ss, "%ld", ii);
      

  3.   

    int a=63;
    char c;c = char(a);
      

  4.   

    错误代码如下:
    void CLqd2View::OnYcH() 
    {
    // TODO: Add your command handler code here
    char chSend[7]={0xd7, 0x09, 0xb0, 0xff, 0x01, 0x11, 0x81};
    m_SerialPort.WriteToPort(chSend);
    }
    在中间一行有报警
    warning C4305: 'initializing' : truncation from 'const int' to 'char'
    请大虾详细指点一下小弟,不胜感激
      

  5.   

    寻找对象tszzp(神奇)  ,请加我QQ  88350426
      

  6.   

    char chSend[7]={0xd7, 0x09, 0xb0, 0xff, 0x01, 0x11, 0x81}应该改成直接赋字符值,否则会有截断的。
      

  7.   

    char chSend[7]={0xd7, 0x09, 0xb0, 0xff, 0x01, 0x11, 0x81};
    改成
    unsigned char chSend[7]={0xd7, 0x09, 0xb0, 0xff, 0x01, 0x11, 0x81};
      

  8.   

    请问syy64(太平洋),如何直接赋字符值?小弟愚吨请问abomber2(走来走去):我依你的方法试了一下,出现一个错误了 
    error C2664: 'void __thiscall CSerialPort::WriteToPort(char *)' : cannot convert parameter 1 from 'unsigned char [7]' to 'char *'
            Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast我犯糊涂了……,请指点一下
      

  9.   

    看到了吗:
    CSerialPort::WriteToPort(char *);
    是char * 不是char,改一下吧:
    void CLqd2View::OnYcH() 
    {
    // TODO: Add your command handler code here
    char chSend[7]={0xd7, 0x09, 0xb0, 0xff, 0x01, 0x11, 0x81};
    m_SerialPort.WriteToPort(chSend);//(chSend)改为(&chSend)
    }
      

  10.   

    在中间一行有报警
    warning C4305: 'initializing' : truncation from 'const int' to 'char'
    你能确定不是 from 'const int' to 'char*'吗?
      

  11.   

    晕!m_SerialPort.WriteToPort((char*)chSend);
      

  12.   

    如:char chSend[7]={'a', 'c', '3', 'b', 'd', 'g', 't'}
      

  13.   

    CharlesPrince(Can I help you?Call me)大虾:依你的方法,警告依在,还增加一处错误abomber2(走来走去)大虾:警告依在,与原来一样  syy64(太平洋)大虾:警告翻一翻,但没错误请大虾们加我QQ 88350426 我把代码发给你们瞧瞧,更直观一点
      

  14.   

    因为没有看到WriteToPort的定义,不好确定你需要的到底是什么参数?是一个字节的char的地址,还是一个字符串的首地址?如果是字符串,而又没有传入长度的话,一般需要以0结尾,你的定义中又没有。