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 nameich 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.
