コード
int cycle_length(int i, int j) {
int cycleLength = 0;
for (int k = i; k <= j; k++) {
cout << algorithm(k) << endl;
if (algorithm(k) > cycle_length) {
cycleLength = algorithm(k);
}
}
return cycleLength;
}
ISO C++ forbids comparison between pointer and integer [-fpermissive]
この行でこのエラーが発生しましたif ( algorithm(k) > cycle_length)
。
しかし、同じコードがmain()
??で正しく機能するのはなぜですか。そして、このエラーはどういう意味ですか???
追加され たアルゴリズムは、整数入力を取り、整数を返す関数です。
int algorithm(int number1) {
int counter = 1, number = number1;
do {
if (number % 2 == 0) {
number = number / 2;
counter++;
} else {
number = (3 * number) + 1;
counter++;
}
} while (number != 1);
return counter;
}