集合make_from_separate中功能调用中的不兼容实际参数

问题描述 投票:0回答:1

不明白我在哪里错了...

class
    LINKED_LIST_SEP[G]

inherit
    LINKED_LIST [G]

create
    make,
    make_from_iterable,
    make_from_separate

feature {NONE} -- Initialization

    make_from_separate (other: separate like Current)
        do
            default_create
            across
                other is l_item
            loop
                check
                    attached {G} {SCOOP_UTIL}.any_from_separate (l_item) as l_v
                then
                    extend (l_v)
                end
            end
        end

end -- class

enter image description here

generics generic-list eiffel eiffel-scoop
1个回答
0
投票
对于不受约束的形式通用参数,隐式约束为detachable separate ANY。但是功能any_from_separate需要separate ANY

以下解决方案是可能的:

    在调用l_item之前添加any_from_separate不无效的测试。
  1. 更改any_from_separate的签名以接受可分离的类型。但是,在这种情况下,其结果也将变得可分离。
  2. 向类separate ANY的形式通用参数添加约束LINKED_LIST_SEP
© www.soinside.com 2019 - 2024. All rights reserved.