이전 주제 보기 :: 다음 주제 보기 |
글쓴이 |
메시지 |
남윤재
가입: 2012년 9월 11일 올린 글: 11
|
올려짐: 2012년9월11일 14:50 주제: 함수 타입 질문 |
|
|
안녕하세요,
함수 타입 관련해서 질문 드립니다.
let myfunc (a, b, c) : (int * int * int) -> int = c;;
let b = myfunc (1, 2, 3);;
이렇게 해서 3을 기대했는데 다음과 같은 오류 메세지가 뜨네요...
Error: This expression has type int * int * int but is here used with type
int * int * (int * int * int -> int)
제가 뭔가를 잘못 이해하고 있는 것 같은데, 도와주시면 감사하겠습니다. _________________ 남윤재 올림 |
|
위로 |
|
 |
이영석
가입: 2011년 9월 5일 올린 글: 103
|
올려짐: 2012년9월11일 15:00 주제: 답변 |
|
|
(int*int*int)-> int 는 myfunc 의 타입입니다.
파싱과정에서 c의 타입을 (int*int*int)-> int 타입으로 해석하는것 같습니다.
원하는 결과를 얻으시려면
let myfunc ( (a:int), (b:int) , (c:int) ) = c
로 하시면 됩니다.
let myfunc : (int*int*int -> int) = fun (a,b,c) -> c
로 하셔도 됩니다. |
|
위로 |
|
 |
|
|
새로운 주제를 올릴 수 없습니다 답글을 올릴 수 없습니다 주제를 수정할 수 없습니다 올린 글을 삭제할 수 없습니다 투표를 할 수 없습니다
|
Powered by phpBB 2.0.21-7 (Debian) © 2001, 2005 phpBB Group Translated by kss & drssay
|