对不起,我不能将标题(或问题)制定为比这更有用的信息,因为我不知道这里发生了什么。为什么这段代码不能编译:
$sql_query = "UPDATE [$connectionInfo[Database]].[dbo].[log_record] SET [lock]='0' WHERE CONVERT CONVERT(varchar, Date, 120) = '".json_encode($value['Date']['date'])."'
这是什么?为什么我可以使用变量,但不能将它赋值为val ???
这对任何人都有意义吗?
答案 0 :(得分:0)
协变与通配符类型,编译器会将Any
的容器类型设置为scala> val l: List[_] = List(123)
l: List[_] = List(123)
scala> l
res1: List[Any] = List(123)
scala> :type l
List[Any]
,如:
List
如上面的代码所示,_
容器类型为List
,并且由于l
是协变,因此编译器将设置res
' s List[Any]
输入R
。
由于您的代码段Foo
上限至Foo
,因此Any
与val res: Bar[Any] = bak.b //+R <: Foo
之间会发生冲突:
bak.b
因此编译错误被抛出,在 repl 中,它会自动将{{1}}分配给temp res 变量。