枚举的分段错误

时间:2011-11-08 01:40:03

标签: c++ string enums

我有以下功能

template<class T> T stringTo(const std::string& s)
{
 std::istringstream iss(s);
  T x;
  iss>>x;
  return x;
};

当我按如下方式应用时:

session ft = stringTo<session>("F");

其中会话是:

enum session {F, S, T};

我收到了分段错误。

你可以帮我弄清楚我的错误在哪里......

1 个答案:

答案 0 :(得分:1)

问题可能是您使用的是'F'而不是"F"吗?

您的stringTo函数似乎想要string并且您要发送char

是的,我不认为你的方法是有效的。您可能需要设置一个地图,将您从字符串转换为枚举,反之亦然。

也许,this可能会给你一个选择。