diff --git a/src/core/model/ptr.h b/src/core/model/ptr.h index a66484dd5..bfe871ee1 100644 --- a/src/core/model/ptr.h +++ b/src/core/model/ptr.h @@ -13,6 +13,7 @@ #include #include +#include /** * @file @@ -427,6 +428,8 @@ struct EventMemberImplObjTraits> namespace ns3 { +class Object; + /************************************************* * friend non-member function implementations ************************************************/ @@ -435,6 +438,8 @@ template Ptr Create(Ts&&... args) { + static_assert(!std::is_base_of_v, + "Use CreateObject() instead of Create() for Object subclasses"); return Ptr(new T(std::forward(args)...), false); }