【发布时间】:2020-01-25 17:58:52
【问题描述】:
我有一个班级,需要公开其受保护成员之一的大小。
我无法公开该字段并且不想引入新字段,因此我尝试引入一个枚举并将其分配给该字段的大小,如下所示:
class MyObject
{
public:
enum
{
myFieldSize = sizeof(myField),
};
protected:
uint8_t myField;
}
但是我的编译器告诉我它找不到“myField”的声明。这是预期的行为吗?我还有其他访问 myField 的公共函数,为什么 enum 似乎无法访问?
【问题讨论】:
-
你可以写一个像getFieldSize()这样的公共成员函数并返回sizeof。
标签: c++ class enums field member