2014-01-13 3 views
0

instructor.displayMessage() 바로 앞에 "no operator < <이이 피연산자와 일치"오류가 발생하도록 시도 할 때 클래스 내부에서 함수를 호출하려고합니다. 또한 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; 
}; 

내가 기능을 포함 didnt한다.

+1

당신이 찾고있는 용어가 _member function_이라고 생각합니다. – keyser

답변

3
void displayMessage(); 

이 기능은 아무것도 반환하지 않습니다,하지만 당신은 여기 반환 값을 인쇄하려고 : 실제로 뭔가를 반환해야하는 경우

cout << "gradeBook1 created for course: \n" << gradeBook1.getCourseName() << instructor.displayMessage() 

는, 당신은 올바른 반환 유형을 선언해야, 예 :

string displayMessage(); 

그러나 이름은 함수 자체가 출력을 이미 인쇄하고 있음을 나타냅니다. 따라서 다음과 같이 간단하게 전화를 걸고 싶을 수도 있습니다.

instructor.displayMessage(); 

한 줄에 입력하십시오.

displayMessage()의 구현을 제공하면 좀 더 정확한 대답을 줄 수 있습니다.

관련 문제