问一下怎么判断模板函数的模板参数为空?


    template<typename T>
    vector<T> __initList(int num , T value)
    {
        if (value == NULL)
        {
            break;
        }
        vector<T> mlist= vector<T>();
        for (int i = 0; i < num; i++)
        {
            //if(NULL==value)
            mlist.push_back(value);
        }
        return mlist;
    }

__initList<string>(1, nullptr);->导致value为nullptr,直接崩了,在模板里面加valu==null会编译不通过

你调用push_back()里面肯定要传值的不能为空,为空要提前做判断


template <class T>
vector<int> __initList(int num, T value)
{
    if (value == nullptr)
    {
        return vector<int>();
    }
    vector<int> mlist;
    for (int i = 0; i < num; i++)
    {
        mlist.push_back(value);
    }
    return mlist;
}