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

Working with classes [Error] ld returned 1 exit status

我尝试搜索此错误的答案并尝试了建议的修复方法,但无济于事,因此我正在寻求帮助。我不断收到 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 */            
};

这是我的 Record.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; 
}

附带说明:这是我第一个与使用 class 有关的项目,可能有更简单的方法,但这是我能想到的。

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

Record::Record() : name(), id(0), rate(0), hours(0) { }

Dev C++ IDE 允许您在不执行的情况下调用默认构造函数。问题是由于调用而发生的,因为您没有调用默认构造函数或其他构造函数。实施是另一回事。总的来说,你只需要

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