【发布时间】:2017-11-23 07:15:22
【问题描述】:
我在boost/checked_delete.hpp看到了这段代码
有人能解释一下第 1 行和第 2 行在做什么吗?
template<class T> inline void checked_array_delete(T * x)
{
typedef char type_must_be_complete[ sizeof(T)? 1: -1 ]; #1
(void) sizeof(type_must_be_complete); #2
delete [] x;
}
从page,我得到了关于他们目的的信息,
T must be a complete type. The expression delete [] p must be well-formed.
但是,C++ 中的完整类型是什么?
【问题讨论】:
-
#2不是未使用的本地类型的静默警告。