토론:선언

나루 위키
둘러보기로 가기 검색하러 가기

for[T] new type enum { some(T); none }과 같은 선언이 가능할까요? --Kroisse (토론) 2019년 7월 16일 (화) 18:41 (KST)

문법상으로 불가능하게 막을 예정입니다. for가 그 자체로 선언이라는 점을 생각하시면 됩니다. --lifthrasiir (토론) 2019년 7월 16일 (화) 18:49 (KST)
그러면 new type enum { foo; bar } 또는 type enum { foo; bar }와 같은 선언도 유효하지 않다고 이해하면 될까요? --Kroisse (토론) 2019년 7월 16일 (화) 18:52 (KST)
new type 등은 뒤에 타입으로 평가되는 아무 표현식이나 올 수 있으므로 유효합니다. 요는 new type EXPR 등으로 정의되는 경우와 for[T] FUNCTION_DECL 등으로 정의되는 경우가 나뉜다는 거죠. --lifthrasiir (토론) 2019년 7월 16일 (화) 18:57 (KST)
그러면 for[T] fn(...)이 제네릭 선언의 예시 중 하나가 아니라 제네릭 함수 선언에 한정되는 거군요. --Kroisse (토론) 2019년 7월 16일 (화) 19:02 (KST)