访问在 C++ 函数内部的结构中定义的枚举类属性
access enum class properties which defined in struct inside a function in c++
如何访问枚举类中定义的结构属性。错误是"错误:'e'不是类、命名空间或枚举"
enum class pay_type
{
hourly, salary
};
struct employee
{
string first_name;
string last_name;
pay_type pay_kind;
double pay_unit_amount;
};
istream& operator >> (std::istream& is, employee& e)
{
is >> e.first_name;
is >> e.last_name;
if (e.pay_kind == pay_type::hourly && e.pay_kind == pay_type::salary)
{
is >> e::pay_kind;
}
is >> e.pay_unit_amount;
return is;
}
你需要的是:
std::istream& operator >> (std::istream& is, employee& e)
{
is >> e.first_name;
is >> e.last_name;
// Read the pay kind as an integer.
// Check to make sure that the value is acceptable.
int payKind;
is >> payKind;
if (payKind == pay_type::hourly || payKind == pay_type::salary)
{
e.pay_kind = static_cast<pay_type>(payKind);
}
else
{
// Deal with error condition
}
is >> e.pay_unit_amount;
return is;
}
相关文章:
- 如何正确实现和访问运算符的各种自定义枚举器
- C++:如何在声明枚举类的模板类主体之外定义枚举类?
- 如何在 std::p air 中使用 System::Guid 和自定义枚举?
- 当在基类中定义枚举时,qml中的Q_ENUM未定义值
- 在 FlatBuffer 中使用自定义枚举
- 在宣布后定义枚举 - 比利亚利
- 是否可以定义一个宏来定义枚举类和返回枚举元素计数的 GetCount() 方法
- 类型定义枚举"member"
- 使用对其他枚举值的操作定义枚举元素值
- 具有自定义枚举C++类
- 是否可以手动定义枚举类的转换
- 我们可以在函数中定义枚举吗?
- 在类内部的结构中定义枚举
- 在 c++ 中定义枚举类型的静态变量
- 重新定义枚举的比较运算符
- 在类或文件中定义枚举
- 可以根据同一枚举类型中的其他枚举器来定义枚举器吗
- 检查是否已定义枚举成员
- 在哪里定义枚举
- 在类外部使用在类内部声明的类型定义枚举