为什么我不能在#if中使用sizeof()?
发布时间:2020-12-16 04:59:20 所属栏目:百科 来源:网络整理
导读:参见英文答案 Why can’t I use sizeof in a preprocessor condition?2 我有这个: #if sizeof(int) #error Can't use sizeof in a #if#endif 我得到这个编译错误: missing binary operator before token "(" 为什么我不能在这里使用sizeof运算符? 解决方
参见英文答案 >
Why can’t I use sizeof in a preprocessor condition?2
我有这个: #if sizeof(int) #error Can't use sizeof in a #if #endif 我得到这个编译错误: missing binary operator before token "(" 为什么我不能在这里使用sizeof运算符? 解决方法
因为在运行预处理器之后计算出sizeof(),因此#if的信息不可用.
C编译器在逻辑上分为两个阶段,即使大多数现代编译器不分开它们.首先,源是预处理的.这涉及到处理和替换所有预处理条件(#if,#define,用替换替换定义的单词).然后将源传递,处理,到编译器本身.预处理器只是最低限度地意识到C的结构,它没有类型知识,因此它不能处理像sizeof()的编译器级结构. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- .net – DDD和客户端验证
- Ajax对表格中的信息不刷新页面进行更新数据
- cocos 3.0 beta2创建工程
- [Swift Weekly Contest 111]LeetCode943. 最短超
- ruby-on-rails – 在Rails 4中生成样式表和javas
- c# – 如何让ASP.NET MVC为区域设置默认的Contro
- vue.js组件vue-waterfall-easy实现瀑布流效果
- VueJS 集成 Medium Editor的示例代码 (自定义编
- Micro2440 Nand Flash存储操作之读
- reactjs – 使用React 16在“DetailedHTMLProps,
热点阅读