Compilerfehler C2512



  • Hallo, ich habe eine Klasse realisiert, es ist aber beim kompilieren einen Fehler im Testanwendungsprogramm ( Zeile 11) aufgetreten und zwar "Compilerfehler C2512 :no appropriate default constructor available" (auf deutsch : Kein geeigneter Standardkonstruktor verfügbar).

    Der Testanwendungscode sieht so aus:

    #include <iostream>
    using namespace std;
    #include <string>
    using std::string;
    using std::getline;
    #include "gradebook.h"
    
    int main()
    {
    	GradeBook myGradeBook; //create a GradeBook object named my GradeBook
        string nameOfCourse; // string of characters to store the course name
    	string nameOfLecturer; // string of characters to store the lecturer name
    	// display initial value of course name
    	cout <<" Der Name der Vorlesung ist : " << myGradeBook.getCourseName() <<endl;
    	cout <<"\n Geben Sie bitte den Namen der Vorlesung ein: " << endl;
        getline( cin, nameOfCourse); // read a course name with blanks
    	myGradeBook.setCourseName( nameOfCourse ); // set the course name
    
    	// display initial value of lecturer name
    	cout <<" Der name des Dozenten ist : " << myGradeBook.getLecturerName() <<endl;
    	cout <<"\n Geben Sie bitte den Namen des Dozenten ein : " << endl;
        getline( cin, nameOfLecturer); // read a course name with blanks
    	myGradeBook.setLecturerName( nameOfLecturer ); // set the lecturer name 
    
    	myGradeBook.displayMessage(); // display welcome message
    
    	return 0;
    }
    

    Konstruktor im Implementierungscode :

    GradeBook::GradeBook( string name, string lecturer )
    {
    	setCourseName( name ); // validate and store courseName
    	setLecturerName( lecturer ); // validate and store LecturerName
    }
    

    Der Konstruktor im interfacecode :

    GradeBook( string, string ); //Constructor initializes course name
    

    ich freue mich sehr auf Ihre Hilfe.
    Danke im voraus !



  • Für die Zeile

    GradeBook myGradeBook;
    

    brauchst du einen Konstruktor, der ohne Parameter aufgerufen werden kann. Der fehlt, daher der Fehler.

    Eigentlich sagt du das ja schon selbst in deiner Frage. 😉


Log in to reply