2017-10-29 6 views
1

저는 C++을 처음 사용하고 있으며이 프로그램의 작동 방식을 보려면 CodeBlocks에 예제를 작성했습니다. 여기에 프로그램입니다 :CPP 프로그램이 실행되지 않습니다

#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; 

} 

그리고 보시다시피 나는 주요displayMessage 함수를 호출하고는 기본적으로 내가 gradeBook1 객체에 그 이전이라고 한 인수에 따라 문을 인쇄해야합니다.

하지만 문제는 시작되지 않으며 이유를 모르겠습니다.

||=== 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

여기에 문제가 있습니다. cout << gradeBook1.displayMessage() << endl; void displayMessage()를 호출하고 있습니다. 그냥 gradeBook1.displayMessage()를 호출하십시오. 그러면 효과가있다. – Asesh

답변

1

gradeBook1.displayMessage()가 무효 기능입니다 : 여기

그리고

오류 로그입니다.

cout << gradeBook1.displayMessage() << endl; 

cout을 제거> - 아무것도이 줄을 인쇄 없습니다. 형식 만 입력 ->

gradeBook1.displayMessage(); 

희망이 있습니다. :)