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

        }
    }
}