Chinaunix

标题: 怎样用函数的返回值声明数组的大小?? [打印本页]

作者: lzhgz123    时间: 2003-03-03 17:12
标题: 怎样用函数的返回值声明数组的大小??
q是一个队列它有一个size()函数:size_type size() const;
我想在程序运行时根据队列的大小来确定数组的大小,
即想定义语句:
      int a[q.size()];
该语句在linux下可以编译通过,但在VC下面不能通过,说数组尺寸未定,不能分配空间,但实际上在程序运行时q.size()大小是确定的,怎么解决这个问题啊????
作者: zhxlanjuan    时间: 2003-03-03 18:44
标题: 怎样用函数的返回值声明数组的大小??
楼上,是这样的,
其实,你想实现的实质上是动态数组,在c语言标准语法里,是不能这么做的,但是你是用在linux上的gcc编译器,版本比较高的gcc编译器实现了这样的功能。这是gcc的扩展功能,而不是标准。
vc上不行,是因为vc的编译器没实现这样的功能。
作者: zhxlanjuan    时间: 2003-03-04 12:15
标题: 怎样用函数的返回值声明数组的大小??
其实,你可以用malloc申请合适的空间吗!
作者: zhxlanjuan    时间: 2003-03-04 18:33
标题: 怎样用函数的返回值声明数组的大小??
这个楼主是谁呀,咱不吭声,真是的
作者: lzhgz123    时间: 2003-03-05 19:14
标题: 怎样用函数的返回值声明数组的大小??
哦,非常谢谢,这两天很忙,你说的是对的,我用new也实现了,
我现在正在把linux下的rouge wave 的Tools.h++函数库移植到win2000下,我要急着用这个函数库,但我找不到windows下的版本,你用过吗??或者对怎样移植这种库函数有什么建议??(我有它linux 下的源程序)




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2