我目前的项目太长而无法在这里发布,但是,这是产生真正奇怪行为的单行,至少在我看来是这样。我使用clip
对象来存储相对较短的字符串(35中使用的最大字符数),但是在处理start
中的负值时,条件失败。如果通过值失败进行比较测试(C++)
我试图在clip.length()
前面添加(const int)
,但输出不会改变:
任何想法,这是什么意思?我在Ubuntu 14.04上使用G ++。
void Cut (const int start, const int stop)
{ if (start > clip.length()) cout << "start: " << start << " > " << clip.length() << endl;
...
}
添加一个'(const int)'应该可以解决这个问题。缺少http://stackoverflow.com/help/mcve,我们无法帮到你。 –
为什么downvote?请随意建议我如何改进我的帖子,谢谢。 – user43389
您的编译器是否提醒您比较有符号和无符号整数?您需要启用更多警告。 – molbdnilo