недопустимые операнды в бинарном выражении ('std :: __ 1 :: ostream' (он же 'basic_ostream <char>') и 'void') - PullRequest
0 голосов
/ 18 апреля 2019

Я использую Eclipse на Mac для запуска программы на C ++.Я новичок в C ++ и пытался изучать композицию, используя различные классы индивидуально. Я сталкиваюсь с проблемой в следующей строке кода

Main.cpp

#include <iostream>
using namespace std;
#include "Birthday.h"
#include "People.h"

int main() {
    cout << "!!!Hello World!!!" << endl; // prints !!!Hello World!!!
    Birthday obj(25,3,1993);
    obj.print();
    People pp(5,obj);
    pp.printinfo();
    return 0;
}

Birthday.cpp

#include <iostream>
using namespace std;
#include "Birthday.h"
//#include "People.h"

Birthday::Birthday(int d,int m,int y){
    // TODO Auto-generated constructor stub
    date =d;
    month=m;
    year=y;
}

void Birthday::print()
        {

          cout <<date << month<<year<<endl;
        }

People.h

#ifndef PEOPLE_H_
#define PEOPLE_H_
//using namespace std;
#include "Birthday.h"


class People {
public:
    People(int x,Birthday bb);
    void printinfo();

private:
    int xx;
    Birthday bo;
};


#endif /* PEOPLE_H_ */

People.cpp

#include "People.h"
#include <iostream>
using namespace std;
#include "Birthday.h"
#include<string>
People::People(int x,Birthday bb)
:xx(x),bo(bb)
{
    // TODO Auto-generated constructor stub

}

void People::printinfo()
{

cout<< xx<<bo.print(); //I am getting error because of this line , as soon as i comment it program compiles fine.
}

Я пытался использовать строковую переменную вместо переменной xx, но это приводило меня к некоторой другой ошибке. Поэтому я попытался упростить и изучить концепцию композиции перед непосредственным переходом к манипулированию строками.

1 Ответ

0 голосов
/ 19 апреля 2019

cout << xx << bo.print (); </p>

bo.print () - функция и они не имеют возвращаемого значения (void)

Просто напиши: кут << хх; bo.print (); </p>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...