我的编译器抛出一个非空错误,我不知道这意味着什么:
prime.cpp:12:1: warning: non-void function does not return a value in all control paths \[-Wreturn-type\]
#include <iostream>
using namespace std;
bool isprime(int b){
for(int i = 2;i<b;i++){
if (b/i){
return false;
}
else{
return true;
}
}
}
int main(){
cout<<"enter n o to find if it is a prime"<<endl;
int w = 3;
//cin\>\>w;
bool q = isprime(w);
cout<<q;
return 0;
}
问题是
bool isprime(int b)
在函数结束时没有返回 bool
结果。
要解决此问题,请在 for 循环后返回 bool 值。
请注意,您的代码中仍然存在逻辑问题。
bool isprime(int b){
for(int i = 2;i\<b;i++){
if (b/i){
return false;
}
else{
return true;
}
}
return true;
}