Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell“未解决的重载”_Haskell - Fatal编程技术网

Haskell“未解决的重载”

Haskell“未解决的重载”,haskell,Haskell,下面的代码用于向后枚举二进制文件 bin :: [Char] -> Int bin a = temp (a, 1) where temp :: ([Char], Int) -> Int temp ([], n) = 0 temp (('1':x), n) = temp(x, (n*2)) + 1*n temp (('0':x), n) = temp(x, (n*2)) 产生以下错误: TYPE - Unres

下面的代码用于向后枚举二进制文件

bin :: [Char] -> Int
bin a = temp (a, 1)
    where
        temp :: ([Char], Int) -> Int
        temp ([], n) = 0
        temp (('1':x), n) = temp(x, (n*2)) + 1*n
        temp (('0':x), n) = temp(x, (n*2))
产生以下错误:

 TYPE - Unresolved Overloading
 *** Type       : Num [Char] => Int
 *** Expression : Bin 1001

类似的代码在[Int]->Int时运行良好,我不知道为什么它不能以这种方式工作

您使用的函数类型不正确,即Int 1001,但它实际使用[Char],例如bin['1'、'0'、'0'、'1']。

函数看起来不错,但似乎使用错误,下次尝试将函数的用法设置为oops,这将是Main>bin 1001无需担心,只是想给你这个提示,让你能更快地找到帮助;或1001号垃圾箱。