Je veux accéder aux méthodes et champs de la classe Product dans la classe Menu. Donc j'écrire le code suivant:Erreur de syntaxe C++ dans le constructeur - arugment fait référence à l'objet d'une autre classe
Menu.h
#include "Product.h"
class Menu{
public:
Menu(Product& prod);
Menu();
private:
Product product;}
Menu.cpp
#include "Menu.h"
Menu::Menu(Product& prod) { this->product = prod; }
Menu::Menu() {}
Product.h
#include "Menu.h"
Class Product{
public:
Product():
}
et j'obtiens l'erreur suivante dans le constructeur du Menu: erreur de syntaxe: identifiant 'Product'.
i changé constructeur Menu pour:
Menu(const Product& prod)
mais ça n'a pas trop.
Quelqu'un peut-il résoudre le problème?
Veuillez fournir [mcve]. Actuellement, on ne sait pas ce qui est déclaré dans 'Product.h' (si la classe' Product' est même déclarée ici). –
Le produit est une classe vide sans champ et sans méthodes avec le constructeur defualt mais je l'ai ajouté. – qblacksheep
Placez le point-virgule après la définition de classe comme suit: 'class Menu {...};' – scopchanov