84669 personnes étudient
152542 personnes étudient
20005 personnes étudient
5487 personnes étudient
7821 personnes étudient
359900 personnes étudient
3350 personnes étudient
180660 personnes étudient
48569 personnes étudient
18603 personnes étudient
40936 personnes étudient
1549 personnes étudient
1183 personnes étudient
32909 personnes étudient
认证0级讲师
在 C 里并不会报错,只是会有警告:
>>> gcc -o a a.c a.c: 在函数‘main’中: a.c:8:7: 警告:从不兼容的指针类型赋值 [-Wincompatible-pointer-types] a = b; ^ a.c:5:19: 警告:变量‘a’被设定但未被使用 [-Wunused-but-set-variable] volatile int *a = NULL; ^ >>> cp a.c a.cpp >>> g++ -o a a.cpp a.cpp: 在函数‘int main()’中: a.cpp:8:9: 错误:不能在赋值时将‘long int*’转换为‘volatile int*’ a = b; ^
警告的原因很明确,int 和 long 不兼容。C++ 里会报错,因为 C++ 的类型系统更严格。
请把问题打上正确的标签,以免引来非对口专业的人,浪费双方的时间。
和volatile无关。int和long本身就是不同类型(可以长度不同)啊,你这样传参驴唇不对马嘴当然报错了。先确认下你代码逻辑有没有问题,然后再谨慎使用类型转换吧。
volatile
int
long
在 C 里并不会报错,只是会有警告:
警告的原因很明确,int 和 long 不兼容。C++ 里会报错,因为 C++ 的类型系统更严格。
请把问题打上正确的标签,以免引来非对口专业的人,浪费双方的时间。
和
volatile
无关。int
和long
本身就是不同类型(可以长度不同)啊,你这样传参驴唇不对马嘴当然报错了。先确认下你代码逻辑有没有问题,然后再谨慎使用类型转换吧。