我不明白我的错误信息函数采用长度为8的数组作为参数
triangle_test.c: In function ‘defineLines’:
triangle_test.c:89:1: error: argument ‘args’ doesn’t match prototype
triangle_test.c:25:5: error: prototype declaration
我不知道是否我应该通过& TriHolder,8?我之前从未在C中完成过数组,并且需要一点帮助。
int defineLines(float TriHolder[], int args);
int main(int argc, char* argv[])
{
initialize_TriHolder(1,1,2,2,3,3,4,4);
getInputTriVerts();
getInputInteriorPoint();
defineLines(&TriHolder[0],8); //this is the array I want to pass
}
defineLines(args, length)
{
lineAB[0]=TriHolder[0]; //Ax
lineAB[1]=TriHolder[1]; //Ay
lineAB[2]=TriHolder[2]; //Bx
lineAB[3]=TriHolder[3]; //By
slopeAB = (lineAB[3]-lineAB[1])/(lineAB[2]/lineAB[0]);
interceptAB = slopeAB * -lineAB[0] + lineAB[1]; //b: y - y1 = m(x - x1), x = 0
///////////////////////////
lineBC[0]=TriHolder[2];//Bx
lineBC[1]=TriHolder[3];//By
lineBC[2]=TriHolder[4];//Cx
lineBC[3]=TriHolder[5];//Cy
这是无效的C.用完整的原型定义函数,即返回类型和参数类型。 –
'&TriHolder [0]'和'TriHolder'表示完全相同类型的完全相同的值。确保'TriHolder'的类型是'float'的数组。 – pmg
你的变量名有点混乱'defineLines(float TriHolder [],int args);'''defineLines(args,length)'。第二种情况下的参数是什么? – andre