samedi 31 août 2019

Why can't I get the argument count of a template function at compile-time? [duplicate]

This question already has an answer here:

template<typename... Types>
constexpr std::size_t getArgCount(Types&&...) noexcept
{
    return sizeof...(Types);
}

struct A
{
    int n;

    void f()
    {
        static_assert(getArgCount(n) > 0); // not ok, why?
    }
};

int main()
{
    int n;
    static_assert(getArgCount(n) > 0); // ok
}

Why can't I get the argument count of a template function at compile-time?

Aucun commentaire:

Enregistrer un commentaire