初学VC++,先来打个招呼,希望大家以后多多关照。同时提两个简单的问题:1、请推荐几本适合初学者的好书;2、以下语句编译警告信息是什么意思:
warning C4305: 'initializing' : truncation from 'const double' to 'const float'我的语句:
const float PI = 3.14; //warn at this line
float circum, radius = 10.0;
circum = 2 * PI * radius;

解决方案 »

  1.   

    2、float型的数据相乘得到的是double型的
      

  2.   

    1、《C++ Primer》
    2、const float PI = (float)3.14; //warn at this line
      

  3.   

    那就写const double PI = 3.14;
      

  4.   

    只是一个警告,第三句话运算,PI转化为FLOAT型,会丢失数据,只要计算的结果在你要求的误差允许范围内,就没问题
    ================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★  浏览帖子速度极快![建议系统使用ie5.5以上]。 ★  多种帖子实现界面。 
    ★  保存帖子到本地[html格式]★  监视您关注帖子的回复更新。
    ★  可以直接发贴、回复帖子★  采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录! 
    ★  支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名  ●  
         可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
    Http://www.ChinaOK.net/csdn/csdn.rar
    Http://www.ChinaOK.net/csdn/csdn.exe    [自解压]
      

  5.   

    http://www.csdn.net/expert/topic/981/981873.xml?temp=.5744593
    应该有你要的书了
      

  6.   

    to all:const float PI = 3.14;
    //我不是已经指定PI为float型了吗?怎么会变成的double???为什么用:
    const float PI = (float)3.14;
    //就没有问题?
      

  7.   

    const float PI = (float)3.14;
    进行了强制转换!你必须明白VC中的强制转换
    正如mmm1122(蒙) 所说的:
    只要计算的结果在你要求的误差允许范围内,就没问题
      

  8.   

    VC中缺省认为3.14为double型,只需写成
    const float PI = 3.14f; //后面加个"f"即可
    float circum, radius = 10.0f;
    保证不在警告
      

  9.   

    一般的浮点数常量都被默认为double型的,如果需要float型的常量,用F/f如:
    const float PI = 3.14f;
      

  10.   

    const float PI = 3.14f;
      

  11.   

    请问《C++ Primer》是谁写的?不会是英文的吧
      

  12.   

    vb技術內幕
    VB 高級編成
    VB 與 VBA 技術手冊
    VB 開發使用手冊 ggto(没有猎枪的猎手) 说的
      

  13.   

    问题大家都解决了,
    我就推荐书,入门的书:
    书名就免了:最好是那种讲实例的,动手做一下,知道大概过程。然后看原理的,比如《深入浅出MFC》了。
    实例的书太多了,无所谓好坏,只要步骤清晰的就可以