我有一个枚举 StackIndex 定义如下:
typedef enum
{
DECK,
HAND,
CASCADE1,
...
NO_SUCH_STACK
} StackIndex;
我创建了一个名为 的类MoveSequence
,它是一std::deque
组元组形式的包装器<StackIndex, StackIndex>
。
class MoveSequence
{
public:
void AddMove( const tpl_move & move ){ _m_deque.push_back( move ); }
void Print();
protected:
deque<tpl_move> _m_deque;
};
我想我可以创建一个类的静态std::map
成员MoveSequence
,它将 a 转换StackIndex
为 a std::string
,供Print()
函数使用。但是当我尝试时,我得到了错误:
"error C2864: 'MoveSequence::m' : only static const integral data members can be initialized within a class"
如果无法将 std::map 创建为静态成员,是否有另一种方法可以创建将 a 转换为可用于打印出对象的 a 的 std StackIndex
:: std::string
map MoveSequence
?
谢谢
比带。