我有以下功能分段錯誤與枚舉
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};
我得到一個分割故障。
你能幫助我找出其中我的錯誤在於......
你認爲將整數70轉換爲值爲0,1和2的枚舉的結果是什麼? – Bill
這個編譯? – littleadv
爲了詳細解釋@ Bill的評論,「F」和「F」不是同一回事,而IOStreams也不會神奇地形成兩者之間的聯繫。你需要一個switch-case模塊或類似的東西來實現'stringTo'的專門化。 –