我是使用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或者你可以做到这一点... –