这个语句为什么编译通不过. cout<<"\n sizeof(void)="<

worldbankc 2009-04-29 03:22:48
cout<<"\n sizeof(void)="<<sizeof(void)<<"\n sizeof(void *)="<<sizeof(void *);
...全文
328 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
sizeof返回一个对象或者类型所占的内存字节数
LZ的对象或者类型何在
ZWHLOVEPRO 2009-04-30
  • 打赏
  • 举报
回复
先声明一下,sizeof是在编译时刻编译器就算出了具体的值的。
与c++ operator不同啊,operator会编译产生代码的。
所以,在编译的时候编译器应该知道sizeof括号里的类型或对象
的具体大小。void和void*都不是合法的。
amossavez 2009-04-29
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 liliangbao 的回复:]
void类型没有大小,所以用sizeof对void会报错~
sizeof是C/C++中的一个操作符(operator),作用就是返回一个对象或者类型所占的内存字节数。
[/Quote]
这个问题不需要多说了!!
liliangbao 2009-04-29
  • 打赏
  • 举报
回复
void类型没有大小,所以用sizeof对void会报错~
sizeof是C/C++中的一个操作符(operator),作用就是返回一个对象或者类型所占的内存字节数。
ieslab 2009-04-29
  • 打赏
  • 举报
回复
sizeof不是万能的。
漁_夫 2009-04-29
  • 打赏
  • 举报
回复
楼主,你要是单纯的想测试一下sizeof ,也得先看看api描述啊。。
  • 打赏
  • 举报
回复
楼主能简要说下目的不?
Dinelgua 2009-04-29
  • 打赏
  • 举报
回复
to lz 可以自己差MSDN

The sizeof operator cannot be used with the following operands:

Functions. (However, sizeof can be applied to pointers to functions.)
Bit fields.
Undefined classes.
The type void.
Dynamically allocated arrays.
External arrays.
Incomplete types.
Parenthesized names of incomplete types.
zhaohongbo83 2009-04-29
  • 打赏
  • 举报
回复
void的出现只是为了一种抽象的需要,并不是一中指定的类型,所以
sizeof(void);编译器编译会报错的;

void真正发挥的作用在于:
(1) 对函数返回的限定;
(2) 对函数参数的限定。
lingyin55 2009-04-29
  • 打赏
  • 举报
回复
void代表“无类型”,sizeof是对确定的类型在编译期间求长度,这样肯定会出错。

[Quote=引用楼主 worldbankc 的帖子:]
cout < <"\n sizeof(void)=" < <sizeof(void) < <"\n sizeof(void *)=" < <sizeof(void *);
[/Quote]
pengzhixi 2009-04-29
  • 打赏
  • 举报
回复
LZ你能准确的说出void是什么类型么?如果不能,那编译器怎么分辨
ForestDB 2009-04-29
  • 打赏
  • 举报
回复
没有类型,何来大小?
myme5261314 2009-04-29
  • 打赏
  • 举报
回复
void类型没有大小,所以用sizeof对void会报错,可以说是语法规定是这样,我学的C++书上面说这样做是语法错误。
lpf000 2009-04-29
  • 打赏
  • 举报
回复
void* a
sizeof(a);就是啦
jackzhhuang 2009-04-29
  • 打赏
  • 举报
回复
void是什么??

虽然有void*,但void*是指针,指针的大小必定结果是4,虽然还不知道指向什么。但void就……
弃哲 2009-04-29
  • 打赏
  • 举报
回复
学习
brookmill 2009-04-29
  • 打赏
  • 举报
回复
不知道楼主的编译器报什么错,我的g++这么说的
error: invalid application of sizeof to a void type
也就是说,禁止对void类型使用typeof
brookmill 2009-04-29
  • 打赏
  • 举报
回复
sizeof(void) // 想耍编译器?
编译器不知道void是多大,只好不干了
nuoshueihe 2009-04-29
  • 打赏
  • 举报
回复
up

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧