码迷,mamicode.com
首页 > 编程语言 > 详细

C++和C的结构等价性的不同

时间:2019-12-03 23:34:17      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:直接   c++   环境   不同   turn   信息   通过   警告   color   

C++中,结构按名称等价,而C中,结构按布局相容性等价。

 1 struct A
 2 {
 3     int x,y;
 4 };
 5 
 6 struct B
 7 {
 8   int x,y;
 9 };
10 
11 int main()
12 {
13     struct A a;
14     struct B b;
15     struct A *pa = &a;
16     struct B *pb = &b;
17     pa = pb;
18     return 0;
19 }

该代码在纯C编译环境中,能顺利通过,一般会给出警告信息告知17行中的赋值中类型不兼容。

但是在C++的编译环境中,会直接给出错误,无法通过编译,必须显示转换。

C++和C的结构等价性的不同

标签:直接   c++   环境   不同   turn   信息   通过   警告   color   

原文地址:https://www.cnblogs.com/zfwxkd/p/11980044.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!