Skip to content

Не работает в MSVC17 operator == и operator != #1

@XRay3D

Description

@XRay3D

main.cpp:82: ошибка: C2593: неоднозначный "operator =="
main.cpp:19: может быть
bool operator ==<int,double,char>(type_pack<int,double,char>,type_pack<int,double,char>)
main.cpp:17: или
bool operator ==<int,double,char,int,double,char>(type_pack<int,double,char>,type_pack<int,double,char>)
main.cpp:83: при попытке сопоставить список аргументов
(type_pack<int,double,char>, type_pack<int,double,char>)

Я решил так.
template <class... Ts, class... Us, class T = disable_if_t<std::is_same_v<Ts..., Us...>>>
constexpr bool operator==(type_pack<Ts...>, type_pack<Us...>) { return false; }
`

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions