下面是代码:-
import React from 'react';
class Signup extends React.Component {
constructor(props){
super(props);
this.mailRef = React.createRef(); //fixed
}
handleSubmit = (event) => {
event.preventDefault();
console.log('heyyyyyyyyyyyyyyy');
console.log('Submit: ' + this.mailRef.current.value); //fixed
}
语句2提示错误:-
#include<iostream>
using namespace std;
int main(){
int n, c1=0, ans=0;
cin>>n;
string s;
cin>>s;
for(int i=0; i<n; i++){//string always start with 0
s.at(i)!='D'?++c1:--c1;//statement 1
(c1!=0 && s.at(i)!='U')?continue:ans++;//statement 2
}
cout<<ans<<endl;
}
但是当我稍微更改语句2时,它不会提示错误!
solution.cc: In function ‘int main()’:
solution.cc:10:33: error: expected primary-expression before ‘continue’
(c1!=0 && s.at(i)!='U')?continue:ans++;
^~~~~~~~
solution.cc:10:33: error: expected ‘:’ before ‘continue’
solution.cc:10:33: error: expected primary-expression before ‘continue’
是否表明在三元语法中不允许继续或其他任何关键字?将非常有责任获得答案。
答案 0 :(得分:3)
不,不是。 continue
是一条语句,三元运算符中仅允许使用表达式。
答案 1 :(得分:1)
三元条件表达式的格式为
cmd.Parameters.AddWithValue("@SDate", dateTimePicker1.Value.ToShortDateString());
E1 ? E2 : E3
必须是表达式的地方。
另一方面,continue
是一条语句。
E1, E2 and E3
语句会导致跳转,就像跳转continue
到循环正文的末尾一样(它可能仅出现在for,range-for,while,和do-while循环)。
总而言之,这意味着goto
不会出现在三元条件中,即使该条件是上述循环之一的一部分。