非空函数是什么意思

问题描述 投票:0回答:1

我的编译器抛出一个非空错误,我不知道这意味着什么:

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;
}
c++
1个回答
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;
}
© www.soinside.com 2019 - 2024. All rights reserved.