我是C ++的新手,我在CodeBlocks中编写了一个示例,以了解该程序的工作原理。这是程序:
#include <iostream>
#include <string>
using std::cout;
using std::cin;
using std::endl;
using std::string;
class GradeBook
{
public:
GradeBook( string name )
{
setCourseName( name );
}
void setCourseName( string name )
{
courseName = name;
}
string getCourseName()
{
return courseName;
}
void displayMessage()
{
cout << "Welcome to the gradebook for \n" << getCourseName() << "!" << endl;
}
private:
string courseName;
};
int main()
{
GradeBook gradeBook1("Introduction to C++");
cout << gradeBook1.displayMessage() << endl;
return 0;
}
正如你所看到我在 main 上调用了displayMessage
函数,它基本上应该根据我在gradeBook1
中称为ealier的参数打印出一个语句宾语。
但问题是,它没有开始,我也不知道为什么!
这是错误日志:
||=== Build: Debug in Youtube (compiler: GNU GCC Compiler) ===|
C:\Users\Pouya\Desktop\C++_Tutorials\Youtube\main.cpp||In function 'int main()':|
C:\Users\Pouya\Desktop\C++_Tutorials\Youtube\main.cpp|35|error: no match for 'operator<<' (operand types are 'std::ostream {aka std::basic_ostream<char>}' and 'void')|
答案 0 :(得分:1)
gradeBook1.displayMessage()
是一个无效函数。没有什么可以在这一行打印 - &gt;
cout << gradeBook1.displayMessage() << endl;
删除cout
。只需输入 - &gt;
gradeBook1.displayMessage();
希望它有所帮助。 :)