error C2143: 语法错误 : 缺少“)”(在“(”的前面) 总是有这个错误!可是括号并没有问题啊!求救!!!

问题是这个:下述两个结构所占存储空间多大?结构中各分量所在位置相对于结构起始位置的偏移量是多少?请编写程序以验证你的答案。若使用#pragma pack(2)语句,则结果又如何?原先是用VC++6.0的,但我大佬同学说VC不支持aligned,我就换了vs2008,结果还是这样。。。到底是什么问题啊快疯了

vs是不能明确的给出结构体实际占用内存大小,不同的优化选项(o1、o2等等)会导致编译器对代码的处理是不一样的。甚至vs里面还提供了是否结构体对齐的选项,选择对齐和不对齐,结构体占用内存大小是不一样的。如果想要理解c语言底层的东西,建议使用linux系统,在编译的时候去掉优化选项。追问

只能装双系统吗???请问我的代码有没有问题。。。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-09-26
你这个写法就是gcc的,在VC里要用其他方法,比如上面说的修改优化选项追答

http://blog.csdn.net/lanuage/article/details/48355063
VS可参考此文

第2个回答  2017-09-25
在结构体模板声明的}后写__attribute__((aligned(B)));是在干什么?语法不错吗?追问

这个是老师给的啊,我把它补全了而已

追答

那就等着老师讲吧!