使用pow()时没有i32/f64后备

tsh*_*ang 9 rust

具有以下内容:

4.pow(2)
Run Code Online (Sandbox Code Playgroud)

我明白了:

error: no method named `pow` found for type `_` in the current scope
Run Code Online (Sandbox Code Playgroud)

我必须更加明确,例如:

4_i32.pow(2)
Run Code Online (Sandbox Code Playgroud)

使用浮点数,我得到了类似的问题(和解决方案),其中:

4.0.powf(2.0)
Run Code Online (Sandbox Code Playgroud)

还必须明确:

4.0_f64.powf(2.0)
Run Code Online (Sandbox Code Playgroud)

DK.*_*DK. 11

我相信这是因为只有在考虑了文字的所有约束(并且它发现没有任何约束)时才会发生回退.

在这种情况下,要知道什么是类型4,它必须知道是什么pow.但是pow为每个整数类型单独定义.所以要知道pow你在说什么,它必须知道它是什么类型4.但要知道是什么类型4......等等.