2014-09-29 6 views
0

check_line 및 check_triangle을 사용하여 geo_analyzer 함수로 결과를 확인하고 싶습니다. 감사의 답변을 주셔서 감사합니다. 나는 왜 오류가 발생하는지 모르겠다. 나는 우분투 에 컴파일 게다가 나는 기능포인터와 정수의 비교 [기본적으로 사용 가능]

double calculateSlop(double a,double b,double c,double d){ 

    return (d-c)/(b-a); // like (y2-y1)/(x2-x1) 
} 

int geo_analyzer(double p1_x, double p1_y, double p2_x, double 
    p2_y, double p3_x, double p3_y, double p4_x, double p4_y){ 

     double m1,m2,m3; 

     m1=calculateSlop(p1_x,p2_x,p1_y,p2_y); 
     m2=calculateSlop(p2_x,p3_x,p2_y,p3_y); 
     m3=calculateSlop(p3_x,p4_x,p3_y,p4_y); 

     if(check_line==1){ 
     return 1; // line 
     } 
     if(check_triangle==1){ 
     return 2; //triangle 
    } 
} 
+0

'check_line'과'check_triangle'는 변수가 아니라 함수입니다. 변수로 사용하지 말고 적절한 매개 변수로 호출해야합니다. – AntonH

답변

3

당신은 정수로 함수 포인터를 비교하고 여기에 함수의

if(check_line==1)  
return 1; // line 

if(check_triangle==1) 

return 2; //triangle 

코드를 오류가 발생합니다. 함수의 출력이 필요하면 check_line(arg1, arg2, arg3, ...)으로 호출하십시오.

0

check_line 및 check_triangle 함수 또는 변수입니까?
당신은 당신이 실제로 "check_line"와 "check_triangle"라는 변수가 있다고 말하고있다 if(check_line==1)if(check_triangle==1) 작성하고 당신은 그들이 정수 1
에 동일한 경우는 OUTPUT의 여부를 확인하려면 알고 싶을 때 함수 "check_line"과 "check_triangle"은 정수 1과 같습니다. 그러면 원하는 것은이 함수에 전달할 인자를 확인하고 if (check_line(argument1, argument2, ...)==1) 등을 씁니다.

관련 문제