Skip to content

关于元数据结构与算法中的Tail获取异常 #10

@piDack

Description

@piDack

书中代码如下:

#include <iostream>
#include <tuple>

template <typename TSeqCont>
struct Tail_;

template <template <typename...> class Container, typename TH, typename...TCases>
struct Tail_<Container<TH, TCases...>>
{
    using type = Container<TCases...>;
};

template <typename TSeqCont>
using Tail = typename Tail_<TSeqCont>::type;
int main(){
    using Cont=std::tuple<char,long,int>;
    std::cout<<"tail:"<<typeid(Tail<Cont>).name()<<std::endl;
    return 0;
}

理论上输出应该为i,但是实际上输出为St5tupleIJliEE。
请问什么原因,如何解决

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