2011-05-16 107 views
0

可能重复时:
Exception when comparing an (int)double and (int)int异常比较的(INT)和双(INT)INT

IGNORE此信息。意外转贴

对不起

+0

当你的调用堆栈清楚地表明它发生在某个'std :: string'操作内部时,你从哪里得到了奇怪的想法,它发生在'if'语句中? – AnT 2011-05-16 05:52:08

+0

另外,“长浮动”应该是什么意思? C++中没有这种类型。 – AnT 2011-05-16 05:53:06

+0

只问一次就够了。 – Xeo 2011-05-16 05:53:43

回答

1
if((int)time >= 600){ time_s.insert(4, sec); 

应该是,

if((int)time >= 600){ time_s.insert(3, sec); // digit 3 instead of 4 

从你的代码,我想字符串大小为6字符(0-4和5个字符为nul)。在第4位和第5位插入2位数字将覆盖nul

做交叉验证,因为我猜猜看你的代码。

+0

你在说什么'nul'? – AnT 2011-05-16 06:01:03

+0

我想象他是指[null terminator] (http://en.wikipedia.org/wiki/Null_character) – 2011-05-16 06:04:07

+0

但是'std :: string'中没有空终止符,除此之外'insert'方法不会覆盖任何东西,它插入*作为名字 – AnT 2011-05-16 06:06:40