özelliklerini ihlal ettiği görülüyor, ben (döngünün koşullu fark)C++ sınıfı için bir ödev üzerinde çalışmak ek
// This one works.
for (int k = 0; k + negwords[j].length() < comments[i].length(); k++) {
if (comments[i].substr(k, negwords[j].length()) == negwords[j]) {
negativeScore++;
}
}
//*/
/*/ This one doesn't: It fails with an out-of-bounds index.
for (int k = 0; k < comments[i].length() - negwords[j].length(); k++) {
if (comments[i].substr(k, negwords[j].length()) == negwords[j]) {
negativeScore++;
}
}
//*/
Neden İlki çalıştığını öyle ama ikincisi kokan bu koştu t? Operasyon sırasına, int'ye, operatör çağrışıcılığına veya OBOE'ye bool zorlamasıyla ilgili bir şey mi?
'length(), imzasız bir türü mi döndürüyor? –
k + yorum olmamalıdır [i] .length() – cyan
@cyan: Hayır, ilk döngü koşulunun her iki tarafından 'negwords [i] .length() 'i çıkarırsanız, ikincisini alırsınız. –