【发布时间】:2010-05-25 18:39:47
【问题描述】:
给定一个函数原型和一个类型定义:
int my_function(unsigned short x);
typedef unsigned short blatherskite;
以下情况是否按标准定义:
int main(int argc, char** argv) {
int result;
blatherskite b;
b=3;
result = my_function(b);
}
我是否可以通过函数原型可预测地获得类型强制?
【问题讨论】:
-
我认为很简单,可以编译和尝试。我相信这会很好。
-
只有强制(即隐式转换)发生在
b=3线上; 3 是 int 类型的文字,转换为赋值的无符号短整型。只是放弃这条线,这样人们就不会被这个不是关于强制而是更多关于typedef行为的问题弄糊涂了。