首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

想用一个函数的返回值作为另一个函数的形参。该怎么解决

2012-08-01 
想用一个函数的返回值作为另一个函数的形参。。。。。最近才发现这个问题。函数返回值一般都存在寄存器中的吧,那

想用一个函数的返回值作为另一个函数的形参。。。。。
最近才发现这个问题。

函数返回值一般都存在寄存器中的吧,那么如果想让这个函数的返回值作为另一个函数的形参的话,应该怎么写哦?

比如:

CvPoint cvPoint(int x, int y)
{
  CvPoint temp;
  temp.x = x;
  temp.y = y;
  return temp;
}

cvRectangle( cvPoint(3, 5), cvPoint(6, 10) );

这样是不可以的吧?
那,应该怎么写,才可以直接用返回值做形参呢。。。。。。。。。?

[解决办法]
可以返回指针。

CvPoint* cvPoint(int x, int y)
{
CvPoint* temp=(CvPoint *)malloc(sizeof(CvPoint));
temp->x = x;
temp->y = y;
return temp;
}
[解决办法]
cvRectangle( cvPoint(3, 5), cvPoint(6, 10) );
这样写没问题啊,函数是可以返回结构体的
[解决办法]
哎呦,楼主还知道寄存器,真厉害.
[解决办法]
是做实参。。。

热点排行