Ошибка: неизвестное имя типа в классе заголовка, содержащем несколько классов - PullRequest
0 голосов
/ 11 ноября 2019

Я новичок в C ++, и я получил это сообщение об ошибке:

g ++ -Wall -c -o inventaire.o inventaire.cpp
В файле, включенном в inventaire.cpp: 11:
./inventaire.h:57:11: ошибка: неизвестное имя типа «IngredientsRecette»;Вы имели в виду ListeIngredientsRecette?
Liste <IngredientsRecette> listeIngRecette;
……… ... ^ ~~~~~~~~~~~~~~~~~
ListeIngredientsRecette
./inventaire.h: 44: 7: примечание: здесь объявлено «ListeIngredientsRecette»
class ListeIngredientsRecette {
…… .. ^ 1 генерируется ошибка.
make: *** [inventaire.o] Ошибка 1

Объяснение

Это не из-за компилятора, потому что без объявления Liste<IngredientsRecette> listeIngRecette;. Работает без каких-либо сообщений об ошибках. Я использую make-файл. Первый раз, так что скажите мне, если я делаю неправильно, чтобы я мог улучшить. Да, я знаю, что это французский.


Вот мой заголовочный файл:

#if !defined(_INVENTAIRE__H_)
#define _INVENTAIRE__H_
#include <iostream>
#include <string>
#include "date.h"
#include "liste.h"
using namespace std;

....

class ListeIngredientsRecette {
    public:
        ListeIngredientsRecette() {}  
        ListeIngredientsRecette& operator += (const ListeIngredientsRecette& liste);
        ListeIngredientsRecette& operator *= (int quantite);

    private:
        Liste<IngredientsRecette> listeIngRecette; 
        friend std::istream& operator >> (std::istream&, ListeIngredientsRecette&);
        friend std::ostream& operator << (std::ostream&, const Date& date);
        friend class ListeIngredientsRecette;
        friend class IngredientsRecette;
        friend class IngredientInventaire;
        friend class Inventaire;
};

class IngredientsRecette {
    public:
        IngredientsRecette() 
            : nom(""), quantite(0) {}

        IngredientsRecette(const string& nomRecette, const int & qt) 
            : nom(nomRecette), quantite(qt) {}

        string nom; 
        int quantite; 
    private:
        friend class ListeIngredientsRecette;
        friend class IngredientsRecette;
        friend class IngredientInventaire;
        friend class Inventaire; 
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...