我正试图使用components.cpp类访问items.h类别中的一个受保护变量,但我遇到了让我困惑的错误::D
Item::Quantity':无法访问类中声明的被禁止的受保护成员"项目">
项目.h
protected:
int32 Quantity;
组件.h
#include "Items/Item.h"
Item* AddItem(class Item* Item, const int32 Quantity);
组件.cpp
ItemAddResult Component::TryAddItem_Internal(class Item* Item)
{
Items.Add(Item);
return ItemAddResult::AddedAll(Item->Quantity);
}
您可以通过在类Item
中添加friend声明使类Component
成为类Item
的friend
来解决此问题,如下所示:
项目.h
class Item{
friend class Component;
protected:
int32 Quantity;
//other members here
}