我指的是GNU c教程它说整数变量赋值非整数值会产生编译时错误究竟是什么错误,任何一个例子? 我试过了
int a ='A';
int a = 2.323;
一切都很好
还有什么可以证明这句话的合理性?
答案 0 :(得分:2)
在某些情况下,正在进行一些转换。例如,您可以在gcc中使用-Wconversion来警告隐式转换。
(见Why assignment of double to int does not trigger gcc warnings?)
一个无法编译的例子是
struct account {
int account_number;
char *first_name;
char *last_name;
float balance;
};
struct account s;
int a=s;//breaks
例如,错误消息在MSVC100中。
错误C2440:'初始化':无法从'account'转换为'int'
没有可以执行此操作的用户定义转换运算符 转换,或者不能调用运算符