左值作为赋值的左操作数(不是“use ==”)

时间:2012-03-02 02:24:25

标签: function pointers function-pointers 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;

任何帮助都会很棒。

2 个答案:

答案 0 :(得分:3)

func声明的语法不正确;该声明声明了一个带double并返回double*的函数。声明func的正确方法是:

double (*func)(double);

答案 1 :(得分:0)

我相信你的声明double *func(double);没有声明一个指向函数的指针,只是声明了一个函数。请改为double (*func)(double);

这是一个很好的教程:http://www.newty.de/fpt/fpt.html#assign