我是使用boost :: lexical_cast的新手,對它的內部知識瞭解甚少。我嘗試做如下轉換:boost :: lexical_cast從字符串到字符的異常
string someString = boost::lexical_cast<char>(sourceString);
然而,升壓抱怨,上面的代碼是:
[例外]:壞詞法投:源類型的值不能被解釋爲目標
源是一個字符串,但它總是隻有1個字符長。
請問有人能解釋一下嗎?
謝謝。
我是使用boost :: lexical_cast的新手,對它的內部知識瞭解甚少。我嘗試做如下轉換:boost :: lexical_cast從字符串到字符的異常
string someString = boost::lexical_cast<char>(sourceString);
然而,升壓抱怨,上面的代碼是:
[例外]:壞詞法投:源類型的值不能被解釋爲目標
源是一個字符串,但它總是隻有1個字符長。
請問有人能解釋一下嗎?
謝謝。
當我測試它時(修復從char
到string
的無效轉換之後),只要sourceString
包含單個字符,詞法轉換就會成功。 Here are the test results.
如果您的真實代碼無效,請發佈更多內容;最好是一個演示錯誤的可運行程序。
是否有你這樣做的原因,而不是像'char c = *(sourceString.c_str());'?爲什麼你把一個字符串變成一個字符並把它放回到一個字符串中? –
或者'char c = sourceString [0];'? –
@MikeSeymour或者你可以做到這一點... –