简体   繁体   中英

Getting an error message in C++

I'm new to C++ (I'm a C programmer) so I apologize if this seems like a dumb question.

When I run this program I get the following error message:

error C2661: 'Student::Student' : no overloaded function takes 2 arguments

I commented where the error occurs (2 instances). Thank you.

//Definition.cpp

#include "Student.h"

Student::Student(string initName, double initGPA) //error here and in main.cpp
{
        name = initName;
        GPA = initGPA;
}

string Student::getName()
{
        return name;
}

double Student::getGPA()
{
        return GPA;
}

void Student::printInfo()
{
        cout << name << " is a student with GPA: " << GPA << endl;
}

//student.h

#include <string>
#include <iostream>

using namespace std;

class Student
{
        private:
                string name;
                double GPA;
        public:
                string getName();
                double getGPA();
                void setGPA(double GPA);
                void printInfo();
};


//main.cpp 

#include <iostream>
#include "Student.h"

int main() {
        Student s("Lemuel", 3.2); //here is the error

        cout << s.getName() << endl;
        cout << s.getGPA() << endl;

        cout << "Changing gpa..." << endl;
        s.setGPA(3.6);

        s.printInfo();
        return 0;
}

Your constructor is not declared.

Try this :

class Student
{
        private:
                string name;
                double GPA;
        public:
                Student(string initName, double initGPA);
                string getName();
                double getGPA();
                void setGPA(double GPA);
                void printInfo();
};

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM