【发布时间】:2013-03-28 22:17:43
【问题描述】:
我是初学者,需要解释为什么这不起作用:
string myArray[620223];
//myArray is then populated with a while loop using ifstream and getline
string myString = myArray[9];
double myValue;
try {
myValue = boost::lexical_cast<double>(myString);
}
catch(boost::bad_lexical_cast const&) {
myValue = 0;
}
myArray[9] 非零,但结果 double 始终为零。任何帮助将不胜感激。谢谢。
【问题讨论】:
-
什么是
myArray?std::strings 的数组?只输出myString会得到什么? -
是的。 myString 的输出是正确的值。例如,cout 给出:9.968750。
-
发生了一些有趣的事情。你的代码是正确的。有一个重要的细节没有在问题中暴露。
-
@user1830888 只需使用
myArray的声明 更新问题。我们想知道它的类型,因为它没有被提及。 -
给定的代码很好。尝试 (1) 生成 sscce 或 (2) 使用调试器。
标签: c++ boost lexical-cast