如何解决如何修改我的 readAndCast 模板以适应我的枚举类类型?
// See: https://stackoverflow.com/a/58746336/2287576
template <typename T,typename U>
T readAndCast(CArchive& ar) {
U x;
ar >> x;
return static_cast<T> (x);
}
它适用于以下代码:
m_iReminderUnitType = readAndCast<int,DWORD>(ar);
其中 m_iReminderUnitType
是 int
类型。
enum class VideoConferenceEventType
{
Recorded,Live
};
m_eVideoconfType = readAndCast(VideoConferenceEventType,DWORD > (ar);
它不起作用并说不允许使用类型名称。这让我感到惊讶,因为实际上这个 enum class
是一个 int.
。我该如何解决这个问题?
目前我正在手动进行:
if (m_dwVersion >= MSA_VERSION_210061)
{
DWORD dwData;
ar >> dwData;
m_eVideoconfType = static_cast<VideoConferenceEventType>(dwData);
//m_eVideoconfType = readAndCast(VideoConferenceEventType,DWORD > (ar);
}
我更愿意使用我的 readAndCast
方法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。