“cannot be used as a function error”

后端 未结 6 1156
孤城傲影
孤城傲影 2021-02-19 01:45

I am writing a simple program that uses functions found in different .cpp files. All of my prototypes are contained in a header file. I pass some of the functions into other fun

6条回答
  •  面向向阳花
    2021-02-19 02:08

    This line is the problem:

    int estimatedPopulation (int currentPopulation,
                             float growthRate (birthRate, deathRate))
    

    Make it:

    int estimatedPopulation (int currentPopulation, float birthRate, float deathRate)
    

    instead and invoke the function with three arguments like

    estimatePopulation( currentPopulation, birthRate, deathRate );
    

    OR declare it with two arguments like:

    int estimatedPopulation (int currentPopulation, float growthrt ) { ... }
    

    and call it as

    estimatedPopulation( currentPopulation, growthRate (birthRate, deathRate));
    

    Edit:

    Probably more important here - C++ (and C) names have scope. You can have two things named the same but not at the same time. In your particular case your grouthRate variable in the main() hides the function with the same name. So within main() you can only access grouthRate as float. On the other hand, outside of the main() you can only access that name as a function, since that automatic variable is only visible within the scope of main().

    Just hope I didn't confuse you further :)

提交回复
热议问题