1. ホーム
  2. c++

[解決済み] "関数エラーとして使用できない"

2022-01-31 01:54:46

質問

私は、異なる.cppファイルにある関数を使用する簡単なプログラムを書いています。私のプロトタイプはすべてヘッダーファイルに含まれています。いくつかの関数を他の関数に渡しますが、正しくできているかどうかわかりません。私が得たエラーは "'functionname' cannot be used as a function" . 使えないと言われた関数は growthRate 関数と estimatedPopulation 関数を使用します。データは入力関数(これは動作していると思います)を通して入ってきます。

ありがとうございます。

ヘッダーファイルがあります。

#ifndef header_h
#define header_h

#include <iostream>
#include <iomanip>
#include <cstdlib>


using namespace std;

//prototypes
void extern input(int&, float&, float&, int&);
float extern growthRate (float, float);
int extern estimatedPopulation (int, float);
void extern output (int);
void extern myLabel(const char *, const char *);

#endif

growthRate関数です。

 #include "header.h"

float growthRate (float birthRate, float deathRate, float growthrt)     
{    
    growthrt = ((birthRate) - (deathRate))
    return growthrt;   
}

estimatedPopulation関数です。

    #include "header.h"

int estimatedPopulation (int currentPopulation, float growthrt)
{
    return ((currentPopulation) + (currentPopulation) * (growthrt / 100);
}

をメインとします。

#include "header.h"

int main ()
{
    float birthRate, deathRate, growthRate;
    char response; 
    int currentPopulation, years, estimatedPopulation;

    do //main loop
    {  
        input (currentPopulation, birthRate, deathRate, years);
        growthRate (birthRate, deathRate, growthrt);

        estimatedPopulation (currentPopulation, growthrt);
        output (estimatedPopulation (currentPopulation, growthrt));
        cout << "\n Would you like another population estimation? (y,n) ";
        cin >> response;
    }          
    while (response == 'Y' || response == 'y');

    myLabel ("5-19", "12/09/2010");   

    system ("Pause");

    return 0;
}    

解決方法は?

growthRateを変数名と関数名の両方として使用しています。変数が関数を隠し、その変数をあたかも関数であるかのように使おうとしています。

ローカル変数の名前を変更します。