2017-10-29 24 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オブジェクトに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

ここにあなたの問題があります:cout << gradeBook1.displayMessage()<< endl; void displayMessage()を呼び出しています。単にgradeBook1.displayMessage()を呼び出します。それは動作します – Asesh

答えて

1

gradeBook1.displayMessage()はvoid関数です。この行には何も印刷されません - >

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

coutを削除してください。タイプを入力 - >

gradeBook1.displayMessage(); 

希望します。 :)

関連する問題