代码之家  ›  专栏  ›  技术社区  ›  user9206222

使用类[错误]ld返回1个退出状态

  •  0
  • user9206222  · 技术社区  · 7 年前

    我尝试搜索此错误的答案,并尝试了建议的修复,但没有任何帮助,因此我请求帮助。我继续接收id返回1个退出状态错误。我使用Dev-C++作为IDE。

    这是我的头文件:

    #include <iostream>
    #include <fstream>
    #include <string> 
    using namespace std;
    
    class Record
    {
        private:
            string name;
            int id;
            double rate;
            double hours;
        public: 
            Record();
            Record (string n, int empid, double hourlyRate, double hoursWorked); 
     // constructor
    
            void read_data_from_file();
            double calculate_wage();
            void print_data();
    
            /* SETTERS AND GETTERS */           
            void set_name (string n);
            string get_name();
    
            void set_id (int empid);
            int get_id();
    
            void set_rate (double hourlyRate);
            double get_rate();
    
            void set_hoursWorked(double hoursWorked);
            double get_hoursWorked();
            /* END OF SETTERS AND GETTERS */            
    };
    

    这是我的记录。cpp公司

    #include "Record.h"
    
    Record::Record(string n, int empid, double hourlyRate, double hoursWorked)
    {
        name = n;
        empid = id;
        hourlyRate = rate;
        hoursWorked = hours;
    }
    //
    void Record::set_name(string n)
    {
         name = n;
    }
     string Record::get_name()
    {
         return name;
    }
     //
     void Record::set_id(int empid)
     {
         id = empid;
     }
     int Record::get_id()
     {
         return id;
     }
    //
     void Record::set_rate(double hourlyRate)
     {
        rate = hourlyRate;
     }
     double Record::get_rate()
     {
         return rate;
     }
     //
     void Record::set_hoursWorked(double hoursWorked)
     {
         hours = hoursWorked;
     }
     double Record::get_hoursWorked()
     {
         return hours;
     }
     //
    

    当然,我有一个int main()函数。

    #include "Record.h" 
    int main() 
    {   
        Record employee; 
        ifstream myFile; 
        return 0; 
    }
    

    请注意:这是我的第一个与使用类相关的项目,可能有一种更简单的方法可以做到这一点,但这是我能想到的。

    2 回复  |  直到 7 年前
        1
  •  1
  •   scohe001    7 年前

    您忘记实现默认构造函数(在main中调用)。将此添加到。cpp:

    Record::Record() : name(), id(0), rate(0), hours(0) { }
    
        2
  •  0
  •   Sarmad Ali    7 年前

    Dev C++IDE允许您调用默认构造函数而无需实现。调用时出现问题,因为您没有调用默认构造函数或其他构造函数。实施是另一回事。总的来说,你需要

    Record employee();
    Record employee1("temp",1,12.2,43.4);