想用一个函数的返回值作为另一个函数的形参。该怎么解决
想用一个函数的返回值作为另一个函数的形参。。。。。
最近才发现这个问题。
函数返回值一般都存在寄存器中的吧,那么如果想让这个函数的返回值作为另一个函数的形参的话,应该怎么写哦?
比如:
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) );
这样写没问题啊,函数是可以返回结构体的
------解决方案--------------------
哎呦,楼主还知道寄存器,真厉害.
------解决方案--------------------
是做实参。。。
最近才发现这个问题。
函数返回值一般都存在寄存器中的吧,那么如果想让这个函数的返回值作为另一个函数的形参的话,应该怎么写哦?
比如:
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) );
这样写没问题啊,函数是可以返回结构体的
------解决方案--------------------
哎呦,楼主还知道寄存器,真厉害.
------解决方案--------------------
是做实参。。。