연산자 >> 오류 : 호출에 일치하는 함수가 없습니다.

피. 보쉬

저는 5 개의 속성을 가진 Allotjament 클래스로 작업하고 있습니다. 그 중 4 개는 Cadena라는 클래스에서 나왔습니다. 이것도 끝냈습니다. 여기에 Allotjament.cpp가 있습니다.

#include <iostream>
#include <cstring>
#include "Allotjament.h"

    Allotjament::Allotjament() {
        _nom='\0';
        _pais='\0';
        _localitat='\0';
        _categoria='\0';
        _preu=0;
    }
    Allotjament::Allotjament(Cadena nom, Cadena pais, Cadena localitat, Cadena categoria, float preu) {
        _nom=nom;
        _pais=pais;
        _localitat=localitat;
        _categoria=categoria;
        _preu=preu;
    }

    Cadena Allotjament::getNom() const { return _nom; }
    Cadena Allotjament::getPais() const { return _pais; }
    Cadena Allotjament::getLocalitat() const { return _localitat; }
    Cadena Allotjament::getCategoria() const { return _categoria; }
    float Allotjament::getPreu() const { return _preu; }

    ostream& operator<<(ostream &o, Allotjament a) {
        o << "Nom:" << a._nom << endl;
        o << "Pais:" << a._pais << endl;
        o << "Localitat:" << a._localitat << endl;
        o << "Categoria:" << a._categoria << endl;
        o << "Preu:" << a._preu << endl;
        return o;
    }

    istream& operator>>(istream &i, Allotjament &a){
        getline(i,a._nom);
        getline(i,a._pais);
        getline(i,a._localitat);
        getline(i,a._categoria);
        i >> a._preu;
        cin.ignore();

        return i;
    }

숙박 .h

#include <iostream>
#ifndef ALLOTJAMENT_H
#define ALLOTJAMENT_H
#include "Cadena.h"

class Allotjament{
    public:
        Allotjament();                    // Constructor de la classe
        Allotjament(Cadena nom, Cadena pais, Cadena localitat, Cadena categoria, float preu);   // Constructor amb parametres
        Cadena getNom() const;            // Retorna el nom de l'Allotjament
        Cadena getPais() const;           // Retorna el pais de l'Allotjament
        Cadena getLocalitat() const;      // Retorna la localitat de l'Allotjament
        Cadena getCategoria() const;      // Retorna la categoria de l'Allotjament
        float getPreu() const;            // Retorna el preu de l'Allotjament

        friend ostream& operator<<(ostream&, Allotjament);
        friend istream& operator>>(istream&, Allotjament&);

    private:
        Cadena _nom;
        Cadena _pais;
        Cadena _localitat;
        Cadena _categoria;
        float _preu;
};

여기에 Cadena 클래스의 연산자 >>가 있습니다.

istream& operator>>(istream& i, Cadena& s) {
  delete [] s.c;
  const int l = 256;
  char *t = new char[l];
  i.getline(t,l);
  s.c = t;
  return i;
}

내 문제는 다음과 같습니다. 컴파일러 g ++는 Allotjament 클래스의 연산자 >>에서 getline의 각 줄에 하나씩 4 개의 오류를 수행한다고 알려줍니다. 오류는 다음과 같습니다.

오류 : 'getline (std :: istream &, Cadena &) 호출에 일치하는 함수가 없습니다.

Cadena 클래스와 연산자를 테스트했으며 의도 한대로 작동하지만이 오류가 발생하는 이유를 이해하지 못합니다. 어떤 아이디어?

Ashalynd

이미 Cadena 클래스에 대한 연산자 >>를 정의 했으므로 사용하십시오.

  istream& operator>>(istream &i, Allotjament &a){
        i >> a._nom;
        i >> a._pais;
        i >> a._localitat;
        i >> a._categoria;
        i >> a._preu;
        cin.ignore();

        return i;
    }

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

오류 : 호출에 일치하는 함수가 없습니다.

분류에서Dev

오류 : 호출에 일치하는 함수가 없습니다.

분류에서Dev

"오류 : 호출에 일치하는 함수가 없습니다"생성자 오류

분류에서Dev

기본 생성자 오류에 대한 호출과 일치하는 함수가 없습니다.

분류에서Dev

이 피연산자와 일치하는 연산자 ""<< ""가 없습니다. 오류

분류에서Dev

오류 :이 피연산자와 일치하는 연산자 "! ="가 없습니다.

분류에서Dev

C ++ 구조 오류“ 'erase'호출에 일치하는 함수가 없습니다.

분류에서Dev

오류 : '복사'호출에 일치하는 함수가 없습니다.

분류에서Dev

오류 : 'getline (FILE * &, std :: string &)'호출에 일치하는 함수가 없습니다.

분류에서Dev

오류 : 생성자 초기화를 사용한 호출과 일치하는 함수가 없습니다.

분류에서Dev

오류 : '생성자'호출에 일치하는 함수가 없습니다. 참고 : 후보는 다음과 같습니다.

분류에서Dev

Qt 오류 : 오류 : 'QHBoxLayout :: addItem (QPushButton * &)'호출에 일치하는 함수가 없습니다.

분류에서Dev

오류 : Monster :: Monster () 호출과 일치하는 함수가 없습니다.

분류에서Dev

오류 : 'conj (CArray &)'호출과 일치하는 함수가 없습니다.

분류에서Dev

오류 비교-이항 연산자 ==는 두 오류 피연산자에 적용될 수 없습니다.

분류에서Dev

생성자 멤버 이니셜 라이저 목록 당 const 데이터 멤버 초기화, 오류 : 호출에 일치하는 함수가 없습니다.

분류에서Dev

컴파일 오류 : " 'std :: vector <Card *> :: insert (int, Card * &)'호출에 일치하는 함수가 없습니다."C ++

분류에서Dev

오류 : 기본 복사 생성자 호출과 일치하는 함수가 없습니까?

분류에서Dev

오류 : 'std :: __ cxx11 :: basic_string <char> :: basic_string (int &)'호출에 일치하는 함수가 없습니다.

분류에서Dev

오류 : vector :: push_back 호출에 대해 일치하는 함수가 없습니다.

분류에서Dev

아르마딜로 오류 : 'inv (arma :: SpMat <double> &)'호출에 일치하는 함수가 없습니다.

분류에서Dev

'std :: advance'오류에 대한 호출과 일치하는 함수가 없습니다.

분류에서Dev

C ++ 클래스 오류 메시지 : 호출에 일치하는 함수가 없습니다.

분류에서Dev

C ++ 오류 :: '함수'호출에 일치하는 함수 없음

분류에서Dev

절에서 함수 인수를 찾을 수 없습니다. 오류 : 연산자가 함수가 아닙니다.

분류에서Dev

오류 제어 연산자 (@)로 함수가 호출되었는지 감지 할 수 있습니까?

분류에서Dev

ZoneMinder 컴파일 오류 : ""( "토큰 앞에 이항 연산자가 없습니다."

분류에서Dev

Observables에서 다음 대신 오류를 호출하는 연산자가 있습니까?

분류에서Dev

연산자 '=='는 'int'및 'string'오류 유형의 피연산자에 적용 할 수 없습니다.

Related 관련 기사

  1. 1

    오류 : 호출에 일치하는 함수가 없습니다.

  2. 2

    오류 : 호출에 일치하는 함수가 없습니다.

  3. 3

    "오류 : 호출에 일치하는 함수가 없습니다"생성자 오류

  4. 4

    기본 생성자 오류에 대한 호출과 일치하는 함수가 없습니다.

  5. 5

    이 피연산자와 일치하는 연산자 ""<< ""가 없습니다. 오류

  6. 6

    오류 :이 피연산자와 일치하는 연산자 "! ="가 없습니다.

  7. 7

    C ++ 구조 오류“ 'erase'호출에 일치하는 함수가 없습니다.

  8. 8

    오류 : '복사'호출에 일치하는 함수가 없습니다.

  9. 9

    오류 : 'getline (FILE * &, std :: string &)'호출에 일치하는 함수가 없습니다.

  10. 10

    오류 : 생성자 초기화를 사용한 호출과 일치하는 함수가 없습니다.

  11. 11

    오류 : '생성자'호출에 일치하는 함수가 없습니다. 참고 : 후보는 다음과 같습니다.

  12. 12

    Qt 오류 : 오류 : 'QHBoxLayout :: addItem (QPushButton * &)'호출에 일치하는 함수가 없습니다.

  13. 13

    오류 : Monster :: Monster () 호출과 일치하는 함수가 없습니다.

  14. 14

    오류 : 'conj (CArray &)'호출과 일치하는 함수가 없습니다.

  15. 15

    오류 비교-이항 연산자 ==는 두 오류 피연산자에 적용될 수 없습니다.

  16. 16

    생성자 멤버 이니셜 라이저 목록 당 const 데이터 멤버 초기화, 오류 : 호출에 일치하는 함수가 없습니다.

  17. 17

    컴파일 오류 : " 'std :: vector <Card *> :: insert (int, Card * &)'호출에 일치하는 함수가 없습니다."C ++

  18. 18

    오류 : 기본 복사 생성자 호출과 일치하는 함수가 없습니까?

  19. 19

    오류 : 'std :: __ cxx11 :: basic_string <char> :: basic_string (int &)'호출에 일치하는 함수가 없습니다.

  20. 20

    오류 : vector :: push_back 호출에 대해 일치하는 함수가 없습니다.

  21. 21

    아르마딜로 오류 : 'inv (arma :: SpMat <double> &)'호출에 일치하는 함수가 없습니다.

  22. 22

    'std :: advance'오류에 대한 호출과 일치하는 함수가 없습니다.

  23. 23

    C ++ 클래스 오류 메시지 : 호출에 일치하는 함수가 없습니다.

  24. 24

    C ++ 오류 :: '함수'호출에 일치하는 함수 없음

  25. 25

    절에서 함수 인수를 찾을 수 없습니다. 오류 : 연산자가 함수가 아닙니다.

  26. 26

    오류 제어 연산자 (@)로 함수가 호출되었는지 감지 할 수 있습니까?

  27. 27

    ZoneMinder 컴파일 오류 : ""( "토큰 앞에 이항 연산자가 없습니다."

  28. 28

    Observables에서 다음 대신 오류를 호출하는 연산자가 있습니까?

  29. 29

    연산자 '=='는 'int'및 'string'오류 유형의 피연산자에 적용 할 수 없습니다.

뜨겁다태그

보관