2012-03-02 6 views
0

함수 포인터를 할당하려고 할 때 lvalue 피연산자 문제가 있습니다. 문제가 정확히 어디인지는 모르겠지만 특정 문제와 관련된 모든 코드를 제공 할 것입니다.lvalue가 할당의 왼쪽 피연산자로 필요합니다 ("사용 =="이 아님)

double *func(double); //initialization for a pointer to a function that both returns a double and requires a double 

    func = &xsquaredsinx; //trying to make the pointer point at a function that both returns a double and requires a double 
    func = &halfcircle;//others that are the same 
    func = &testfunction; 

도움이 될 것입니다.

답변

3

func의 선언 구문이 잘못되었습니다. 그 선언은 double을 취하고 double*을 반환하는 함수를 선언합니다. func를 선언하는 올바른 방법은 다음과 같습니다

double (*func)(double); 
+0

가 대단히 감사합니다. 그게 정확한 문제 였고 이제는 고쳐졌습니다. 간단한 문법 오류로 2 시간 : P 대단히 감사합니다 !! – user1244140

0

내가 함수에 대한 포인터를 선언하지 않는 선언 double *func(double);을 생각하지만, 단지 함수를 선언합니다. 여기에 좋은 튜토리얼입니다 대신 double (*func)(double);

을 시도해보십시오 http://www.newty.de/fpt/fpt.html#assign