C++ 控件到达非void函数的末尾
基本上,我无法摆脱最后一个括号中的错误消息,即“错误控制达到非无效函数的末尾”C++ 控件到达非void函数的末尾,c++,function,void,C++,Function,Void,基本上,我无法摆脱最后一个括号中的错误消息,即“错误控制达到非无效函数的末尾” //此处定义函数为_prime() 双精度是素数(整数j) { int imin; int imax; 对于(int j=imin;j您的is_prime函数应该返回一个双精度值!(例如return 3.0f)在最后一个}之前的函数底部添加return语句以返回浮点值。 另外,您应该初始化imin和imax 或根据函数的用途,可以将其键入:BOOL is_prime(int j)然后根据传入的参数是否为prime返回
//此处定义函数为_prime()
双精度是素数(整数j)
{
int imin;
int imax;
对于(int j=imin;j您的is_prime
函数应该返回一个双精度值!(例如return 3.0f
)在最后一个}
之前的函数底部添加return
语句以返回浮点值。
另外,您应该初始化imin
和imax
或根据函数的用途,可以将其键入:BOOL is_prime(int j)
然后根据传入的参数是否为prime返回TRUE或FALSE。例如:
BOOL is_prime(int j)
{
...
for ( int k=2; k<=imax; k++)
//other code
return TRUE;//if prime
...
return FALSE; //if not prime
}
BOOL是素数(intj)
{
...
对于(int k=2;k函数有一个返回类型。您需要返回一个值
// DEFINE FUNCTION is_prime() HERE
double is_prime( int j)
{
int imin;
int imax;
for (int j = imin; j <= imax; j++)
{
for ( int k=2; k<=imax; k++)
{
for (int x=2; x<k; x++)
{
if (k%x ==0)
{
cout<<endl;
return 1;
}
else
cout<< k ;
}
}
}
}
//此处定义函数为_prime()
双精度是素数(整数j)
{
int imin;
int imax;
对于(int j=imin;j)您忘记了返回double is_prime(int j)
-此函数希望您返回一个值,特别是一个双精度值。如果您不这样做,那么函数将在没有返回值的情况下结束。这就是错误消息所说的。此代码还存在许多其他问题-您可能希望返回一个bool
,而不是双精度值,因为这很有趣操作名称。您还使用了未初始化的imin
和imax
。否决投票人-不留下理由就放弃否决投票有什么好处?返回语句是什么意思?请参阅我的编辑,假设您使用的是C/C++,当函数原型为非void时,将返回一个值,函数sho这是您收到错误消息的基本原因。函数还有其他问题:未初始化的变量只是一个。
// DEFINE FUNCTION is_prime() HERE
double is_prime( int j)
{
int imin;
int imax;
for (int j = imin; j <= imax; j++)
{
for ( int k=2; k<=imax; k++)
{
for (int x=2; x<k; x++)
{
if (k%x ==0)
{
cout<<endl;
return 1;
}
else
cout<< k ;
}
}
}
}