错误:表达式必须有一个类的类型

问题描述:

我得到的错误:表达式必须有一个类的类型 首先,我不明白为什么我得到这个错误。我创建并反对并使用它。在我的主要 :错误:表达式必须有一个类的类型

#include "Worker.h" 

int main() 
{ 

    Worker myWorker(); 
    myWorker.inputInfo(); 
    myWorker.displayPayBarGraph(); 

} 

Worker.h

//Worker.h 
//Definition of class Workers 
//Member functions are defined in Worker.cpp 


//Worker class defintion 

class Worker 
{ 
public: 
    Worker();    //constructor initializes worker type 

    void inputInfo();   //attains worker information 
    void displayPayBarGraph(); //prints a bar graph representation of the pay 

private: 

    int workerCode;  //worker type 
    //PAY FOR EACH WORKER 
    double code1pay;   //manager 
    double code2pay;   //hourly workers 
    double code3pay;   //commission workrs 
    double code4pay;   //pieceworkers 

    int hourlyWorkerPay(double, int); //returns the pay of hourly workers 
    int commissionPay(int);  //returns the commission workers pay 
    int pieceWorkerPay(int, int); //returns the pieceworkers pay 
}; 
+0

在哪一行它给人的错误? – WisdmLabs 2014-09-24 03:17:41

Most vexing parse

这条线:

Worker myWorker(); 

声明了一个功能采取任何参数和返回Worker

用简单的声明你的对象:

Worker myWorker; 

假设工人类的实现就可以了,没有其他错误,

int main() 
{ 

    Worker myWorker; 
    myWorker.inputInfo(); 
    myWorker.displayPayBarGraph(); 

}