• typedef static int INT32为什么编译失败了?


    1.为什么这样定义编译时候会报错:error: multiple storage classes in declaration specifiers

    typedef static int INT32

    百度搜到的答案:typedef是存储类的关键字,和auto、static、register一样是存储类关键字,所以在使用typedef时不能再出现其他存储类的关键字;

    2.这样编译能通过吗?

    /*这是*/#/*一条*/define/*合法*/ID/*预处理*/"replacement"/**/"list"/**/ 

    亲测可以通过;

    需要注意一下知识点:

         1. 编译器在预处理的时候会将注释剔除,但是不是简单的剔除,而是使用空格代替原来的注释;

         2. “/*...*/”这种形式的注释不能嵌套使用;如“/*.../*.....*/...*/”是非法的;

     3.这样为啥会编译失败?

    int z = x/*y;

    原因是编译器把    /*   当做了注释行的开始,但是一直没有找到*/在注释的结束;

    可修改为:将 / 和 * 隔开即可;

    int z = x/  *y;
    或int z = x/(*y);
  • 相关阅读:
    git取消文件跟踪
    servlet
    查杀端口进程
    初始化git仓库,并push到远端
    tomcat
    bootstrap
    idea中web工程错误
    i++和++i
    js算法
    编程工具
  • 原文地址:https://www.cnblogs.com/weiyouqing/p/12669217.html
Copyright © 2020-2023  润新知