我正在尝试调用类中的函数,当我尝试时我得到错误"没有运算符<<匹配这些操作数"就在instructor.displayMessage()之前。另外,我正确调用了instructor.displayMessage()吗?我是c ++的新手
#include <iostream>
#include "GradeBook.h"
using namespace std;
int main()
{
GradeBook gradeBook1("CS101 Introduction to C++ Programming");
GradeBook gradeBook2("CS102 Data Structures in C++");
GradeBook instructor("");
instructor.setInstructorName();
cout << "gradeBook1 created for course: \n" << gradeBook1.getCourseName() << instructor.displayMessage()
<< "\ngradeBook2 created for course: \n" << gradeBook2.getCourseName()
<< endl;
cout << "\nPress any key to exit" << endl;
getchar();
}
部首:
#include <string>
using namespace std;
class GradeBook{
public:
GradeBook(string);
void setCourseName(string);
string getCourseName();
void displayMessage();
void setInstructorName();
string getInstructorName();
private:
string courseName;
string instructorName;
};
我没有包含这些功能,因为我认为它们不是问题的一部分。
答案 0 :(得分:3)
void displayMessage();
此函数不返回任何内容,但您尝试在此处打印其返回值:
cout << "gradeBook1 created for course: \n" << gradeBook1.getCourseName() << instructor.displayMessage()
如果它实际上应该返回一些东西,那么你必须用正确的返回类型声明它,例如
string displayMessage();
但是名称表明函数本身已经打印输出。所以也许你只想打电话给它,就像这样:
instructor.displayMessage();
在一行中。
如果您提供displayMessage()
的实施,我可能会给出更准确的答案。