C++ std::当数组应该返回false时,它是否返回true?

C++ std::当数组应该返回false时,它是否返回true?,c++,std,C++,Std,我创建了一个静态断言,以确保不调用创建唯一指针的helper函数,它是内存调试代码的一部分 我面临的问题是,当T不是数组时,断言似乎会失效 职能: 显然,我需要反转条件语句,因为当评估为假而不是真时,它将触发错误。请发布一篇如何删除此问题的帖子?显然,我必须反转测试,这样当评估为假时,它将触发错误。是否有一个标记为删除的按钮?不,我对此的声誉可能太低。请查看您的帖子底部:共享编辑关闭删除标志您需要单击删除 template<class T> n::c_uptr<T> me

我创建了一个静态断言,以确保不调用创建唯一指针的helper函数,它是内存调试代码的一部分

我面临的问题是,当T不是数组时,断言似乎会失效

职能:


显然,我需要反转条件语句,因为当评估为假而不是真时,它将触发错误。

请发布一篇如何删除此问题的帖子?显然,我必须反转测试,这样当评估为假时,它将触发错误。是否有一个标记为删除的按钮?不,我对此的声誉可能太低。请查看您的帖子底部:共享编辑关闭删除标志您需要单击删除
template<class T> n::c_uptr<T> mem::make_unique() {
    static_assert(std::is_array_v<T>, "T must not be an array.");

    return n::c_uptr<T>(nullptr, [](T * pv_object) { });
}
private: a_row_uptr iv_row = n::mem::make_unique<a_row>();
3>class_method_definitions\mem.h(122): error C2338: T must not be an array.
3>class_definitions\db\a_result.h(6): note: see reference to function template instantiation 'std::unique_ptr<n::db::a_row,std::function<void (_Ty *)>> n::mem::make_unique<n::db::a_row>(void)' being compiled
3>        with
3>        [
3>            _Ty=n::db::a_row
3>        ]