构造函数中的C++语法错误 - arugment引用另一个类中的对象
我想访问类Menu中类Product的方法和字段。 所以我写了下面的代码:构造函数中的C++语法错误 - arugment引用另一个类中的对象
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():
}
和我在菜单构造函数中得到以下错误: 语法错误:标识符'产品'。
我改变菜单构造函数:
Menu(const Product& prod)
,但它没有工作过。
任何人都知道如何解决它?
从错误中清理你的代码后,它看起来像这样和编译就像一个魅力:
Menu.h
#include "Product.h"
class Menu {
public:
Menu(Product& prod);
Menu();
private:
Product product;
};
Menu.cpp
#include "Menu.h"
Menu::Menu(Product& prod)
{
product = prod;
}
Menu::Menu()
{
}
Product.h
class Product {
public:
Product()
{
}
};
删除Product.h中的#include“Menu.h”
并且是,请提供完整示例。
如果有头卫兵,肯定没有什么区别。 –
@SamerTufail您是否看到过示例中的任何标头警卫? –
@AlgirdasPreidžius通常它们是自动生成的,发布示例时通常不会添加它们。点正在我等待[mcve] –
请提供[mcve]。目前还不清楚'Product.h'中声明了什么(如果在那里甚至声明了'Product'类)。 –
产品是一个空的类,没有字段,没有方法构造函数但我添加它。 – qblacksheep
在类定义之后加上分号:'class Menu {...};' – scopchanov