【发布时间】:2019-11-18 09:41:58
【问题描述】:
我正在编码以查找素数并使用以下代码将结果提取为布尔值(真/假或 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。但我的代码仍然正确且可构建。
我认为这与将警告视为错误有关(作为初学者,我根据建议对其进行了更改)。但我不想改回来,因为我还在学习。
你有没有办法在不将我的设置恢复正常的情况下解决这个问题?
【问题讨论】: