В настоящее время я читаю исходный код Protocol Bufferи обнаружил один странный enumкод, определенный здесь ~scoped_ptr() { enum { type_must_be_complete = sizeof(C) }; delete ptr_; } void reset(C* p = NULL) { if (p != ptr_) { enum { type_must_be_complete = sizeof(C) }; delete ptr_; ptr_ = p; } }...