Самые внутренние парсеры в вашем примере будут выражением, а в C ++ грамматика определяет expression
как assignment-expression
или другой expression
, за которым следует запятая, а другая assignment-expression
(Приложение A.4 - Грамматика / Выражения).
Грамматика далее определяет assignment-expression
как один из нескольких других типов выражения, ни один из которых не может быть ничем (или только пропуском).
So причина, по которой вы не можете A a(())
, просто потому, что грамматика этого не позволяет. Тем не менее, я не могу ответить, почему люди, которые создали C ++, не позволяли этому конкретному использованию пустых парнеров как своего рода особый случай - я бы предположил, что они предпочли бы не вставлять такой особый случай, если бы разумная альтернатива.
Попробуйте поместить свои Row
виджеты в Expanded
.
Expanded(flex: 0, child: Image.asset('assets/images/avatar.png')),
Expanded(
flex: 0,
child: Container(
height: 90.0,
width: 1,
color: new Color(0xFFEDEDED))),
Expanded(
flex: 1,
child: Container(
child: TextField(
keyboardType: TextInputType.text,
style: new TextStyle(
fontFamily: "WorkSansLight",
fontSize: 30.0,
color: Colors.white70),
decoration: new InputDecoration(
border: InputBorder.none,
hintText: "USER NAME",
hintStyle: new TextStyle(
color: Colors.black,
fontFamily: "WorkSansLight",
fontSize: 30.0)))))