我正在编码以查找素数,并使用以下代码将结果提取为布尔值(真/假或1/0)。
#include <iostream>
using namespace std;
bool isPrimeNumber(int n) {
int m,i;
m = n / 2;
for (i = 2; i < m; i++) {
if (n % i == 0) {
return true;
} else {
return false;
}
}
}
int main() {
cout << isPrimeNumber(33);
return 0;
}
(这里的结果应该为0,因为67是质数)
(我跳过负数和0,1,但我稍后会添加它)
然后在第9行上说:“错误:控制到达非void函数的末尾。”
我试图在Internet,当然还有StackOverflow上找到解决方案。但是我的代码仍然正确且可构建。
我认为这与将警告视为错误有关(我根据初学者的建议进行了更改)。但由于我仍在学习,我不想改回来。
您是否有办法解决此问题而又不将我的设置恢复为正常?