Error: expression has no address

Error: expression has no address

# lines 11-12:
proc last[T](ll: seq[T]): var T =
  return ll[high(ll)]

# line 118:
if last(formula)["state"] == c_empty:

错误:

main.nim(118, 12) Info: template/generic instantiation from here    
main.nim(12, 12) Error: expression has no address    

编译器想要什么?

[] 不是 return 变量

不过,我认为您不需要使用 var 注释此代码段中的任何内容,因为没有任何内容会发生变化。如果需要,在调用站点指定 var

以后可以的话尽量提交可编译的例子。