C++错误:ca时无效使用'AppleFarmer :: AppleFarmer'

1 c++ oop constructor class file-handling

我收到错误"错误:无效使用AppleFarmer::AppleFarmer.我不知道为什么我收到此错误,因为我没有尝试将任何输入传递给我的构造函数.是否有可能我的.h文件有问题?什么是我做错了得到这个错误?我有三个不同的文件,我可能也遇到了将代码链接在一起的问题,因为我正在#include为.cpp文件做.我不确定我的代码是否与此错误有关,但我坚持这个错误.

appleFarmerMain.cpp

#include<iostream>
#include "appleFarmer.cpp"
int main(){
    AppleFarmer m;
    int harvest;
    int demand;
    m.AppleFarmer();

    while(m.endOfMonth()==false){
        cout<<"Enter a harvest amount:"<<endl;
        cin>>harvest;
        m.harvestApples(harvest);
        cout<<"Enter a demand:"<<endl;
        cin>>demand;
        m.sellApples(demand);
        cout<<"Apple Inventory: "<<m.getInventory()<<endl;
        m.updateCurrentDay();
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

appleFarmer.cpp

#include "appleFarmer.h"
#include "<iostream>
using namespace std;

AppleFarmer::AppleFarmer(){
    for(int i=0;i<30;i++){
        sales[i]=0;
        harvest[i]=0;
    }
}
bool AppleFarmer::sellApples(int demand){
    if(demand<= inventory){
        sales[currentDay]=demand;
        inventory=inventory-demand;
    }
    else{
        sales[currentDay]=0;
    }

}

void AppleFarmer::harvestApples(int dayHarvest){
    harvest[currentDay]= dayHarvest;
    inventory=inventory+dayHarvest;
}
bool AppleFarmer::endOfMonth(){
    if (currentDay=maxDays){
        return true;
    }
    else{
        return false;
    }
}
int AppleFarmer::updateCurrentDay(){
    currentDay=currentDay+1;
}
int AppleFarmer::getInventory(){
    return inventory;
}
double AppleFarmer::calculateAverageHarvest(){

}
double calculateAverageSales(){

}
void AppleFarmer::printSales(){

}
void AppleFarmer::printHarvest(){

}
Run Code Online (Sandbox Code Playgroud)

appleFarmer.h

#ifndef APPLEFARMER_H
#define APPLEFARMER_H

class AppleFarmer
{

    public:
        AppleFarmer();
        bool sellApples(int);
        void harvestApples(int);
        bool endOfMonth();
        int updateCurrentDay();
        int getInventory();
        double calculateAverageHarvest();
        double calculateAverageSales();
        void printSales();
        void printHarvest();
    private:
        int sales[30];
        int harvest[30];
        int maxDays = 30;
        int currentDay = 0;
        int inventory = 0;
};

#endif 
Run Code Online (Sandbox Code Playgroud)

Mic*_*ers 5

在C++中,您不会在对象上调用构造函数.这发生在对象创建时.这条线

m.AppleFarmer();
Run Code Online (Sandbox Code Playgroud)

不需要.这里隐式调用构造函数:

AppleFarmer m;
Run Code Online (Sandbox Code Playgroud)