您好我是C ++的新手并且遇到了很大的问题,所以我写了一个简单的函数来返回玩家x,y& z原点,这里是:
float Orgx, Orgy, Orgz;
const float* ReturnORG(Vector3 Blah)
{
float Orgx = Blah.x;
float Orgy = Blah.y;
float Orgz = Blah.z;
return (float)((Orgx), (Orgx), (Orgx));
}
问题是我收到错误说:
"Error: return value type doesn't match function type"
我似乎无法弄清楚我做错了什么,有什么建议吗?
答案 0 :(得分:1)
考虑到逗号运算符,(float)((Orgx), (Orgx), (Orgx))
等同于(float)Orgx
。 float
与float*
不匹配,因此发生了错误。
您应该想要静态分配数组
const float* ReturnORG(Vector3 Blah)
{
static float Org[3];
Org[0] = Org[1] = Org[2] = Blah.x;
return Org;
}
或动态
const float* ReturnORG(Vector3 Blah)
{
float *Org = new float[3];
Org[0] = Org[1] = Org[2] = Blah.x;
return Org;
}