我有以下功能

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};


我遇到了细分错误。

你能帮我找出我的错误所在吗...

最佳答案

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

似乎您的stringTo函数想要一个string,而您正在发送char

顺便说一句,我认为您的方法无效。您可能需要设置一个从字符串到枚举的映射,反之亦然。

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

09-06 12:22