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)
不能在表达式中使用语句。
重写这个
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)