gpt4 book ai didi

c++ - 错误 : Control may reach end of non-void function/

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:11:06 27 4
gpt4 key购买 nike

不明白为什么我会收到“控件可能到达非空函数的末尾”的警告。有什么建议吗?

这是我的代码:

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;
}
}

最佳答案

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

我个人的猜测是,return 语句意味着上一层,即在 out block 中:这将保证函数始终返回一个值并且警告会消失。

关于c++ - 错误 : Control may reach end of non-void function/,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19104216/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com