'return' 之前的预期主表达式

D r*_*ger 6 c++ expression compiler-errors return conditional-operator

在函数“int v(std::string)”中:7:17:错误:“return”之前的预期主表达式 7:17:错误:“return”之前预期的“:” 7:17:错误:预期主表达式'return' 8:1 之前的表达式:警告:函数中没有 return 语句返回非 void [-Wreturn-type]

#include<iostream>
#include<string>

using namespace std;

int v(string s) 
{
    s.length()? return 1:return 0;
}

int main()
{
    string s="";
    cout<<v(s);
}
Run Code Online (Sandbox Code Playgroud)

Vla*_*cow 7

不能在表达式中使用语句。

重写这个

int v(string s) 
{
    s.length()? return 1:return 0;
}
Run Code Online (Sandbox Code Playgroud)

喜欢

int v( const string &s ) 
{
    return s.length() != 0;
}
Run Code Online (Sandbox Code Playgroud)

或者

int v(string s) 
{
    return s.length() ? 1 : 0;
}
Run Code Online (Sandbox Code Playgroud)