错误:控制可能达到无效功能/

Tyl*_*ler 1 c++ controls warnings function void

不明白为什么我收到"控制可能达到无效功能的结束"的警告.有什么建议?

这是我的代码:

long double geo_fn(long reps, int seed) {
    double x, y, pythag_sum, total = 0, inside = 0;
    default_random_engine engine(seed);             
    uniform_real_distribution<double>dist(0,1);

    for(int i = 0; i< reps ;i++){
        x = dist(engine);
        y = dist(engine);
        pythag_sum = (x*x)+(y*y);
        if (pythag_sum <= 1){
            inside += pythag_sum;
            total += pythag_sum;
        }
        else {
            total += pythag_sum;
         }
     return (inside/total)/10;
     }
}
Run Code Online (Sandbox Code Playgroud)

Die*_*ühl 11

如果使用0循环的第一个参数调用该函数,则永远不会执行该return函数,因此永远不会达到该语句.非void函数结束的下降是未定义的行为.

我个人的猜测是,该return语句意味着向上一级,即在out区块中:这将保证该函数始终返回一个值并且警告将消失.