Browse Source

Merge pull request #1431 from pupil1337/fix-create-instance-func

Fix create instance func
David Snopek 1 year ago
parent
commit
e23b117ac3
1 changed files with 1 additions and 0 deletions
  1. 1 0
      include/godot_cpp/core/class_db.hpp

+ 1 - 0
include/godot_cpp/core/class_db.hpp

@@ -203,6 +203,7 @@ public:
 template <typename T, bool is_abstract>
 template <typename T, bool is_abstract>
 void ClassDB::_register_class(bool p_virtual, bool p_exposed, bool p_runtime) {
 void ClassDB::_register_class(bool p_virtual, bool p_exposed, bool p_runtime) {
 	static_assert(TypesAreSame<typename T::self_type, T>::value, "Class not declared properly, please use GDCLASS.");
 	static_assert(TypesAreSame<typename T::self_type, T>::value, "Class not declared properly, please use GDCLASS.");
+	static_assert(!std::is_abstract_v<T> || is_abstract, "Class is abstract, please use GDREGISTER_ABSTRACT_CLASS.");
 	instance_binding_callbacks[T::get_class_static()] = &T::_gde_binding_callbacks;
 	instance_binding_callbacks[T::get_class_static()] = &T::_gde_binding_callbacks;
 
 
 	// Register this class within our plugin
 	// Register this class within our plugin