2012-09-22 211 views
0

我寫在SML此功能運行時錯誤

fun removeNodeswithNoIncoming((x:int,y)::xs,element:int) = 
if x=element then 
removeNodeswithNoIncoming (xs , element) 
else 
(x,y) :: removeNodeswithNoIncoming (xs , element) 
| removeNodeswithNoIncoming(nil,element) = nil; 

所述函數接受元組的列表[(0,0),(0,1)(1,2)]和另一元素0 如果元組的第一個元素與第二個參數相同,則將其從列表中刪除 上述列表的o/p應爲[(1,2)]

不幸的是,代碼不適用於以上輸入。雖然有其他投入爲它工作

- removeNodeswithNoIncomingEdge([(0,1),(0,2),(1,2)],0); 
stdIn:30.1-30.30 Error: unbound variable or constructor: removeNodeswithNoIncomi 
ngEdge 
- removeNodeswithNoIncomingEdge([(0,1),(0,2),(1,2),(1,4)],0); 
stdIn:1.2-1.31 Error: unbound variable or constructor: removeNodeswithNoIncoming 
Edge 

回答

1

你的錯誤信息是指removeNodeswithNoIncomingEdge,但你的函數定義爲removeNodeswithNoIncoming