NewObj error: no suitable conversion
- 
 This must be incredibly basic and I'm sorry for not being able to figure this out myself. I'm working in C++ on 2023.2. I'm creating an ObjectDataplugin. I created a utility class to help me manage some data and I'd like to create an instance of this class inside myObjectData. In terms of memory allocation for classes the documentation says right here:Any class allocation (except for system or library specific code) must be done using NewObj() and DeleteObj(). So I tried using NewObjlike this:MyClass* myClass = NewObj(MyClass);But this won't let me compile due to the following error: cannot convert from 'maxon::ResultMemT<T *>' to 'MyClass *' Also this error: no suitable conversion function from "maxon::ResultMemT<MyClass *>" to "MyClass *" exists In the documentation of NewObjit says:Usage: MyType* x = NewObj(MyType, optional constructor parameters); What am I missing? Just in case, this is my actual utility class: #include "c4d.h" class MainControllerHandleInformation // Wanted to use a struct even but changed it to class while fiddling with the error. { public: MainControllerHandleInformation() = default; maxon::Pointer<BaseObject> MainController; // Should I even use maxon::Pointer or just BaseObject*? Bool IsLeftHandle; maxon::Pointer<BaseObject> ThisArm; maxon::Pointer<BaseObject> OtherArm; };And this is actually the code to initialize it: MainControllerHandleInformation* handleInformation = NewObj(MainControllerHandleInformation);
- 
 Hi @CJtheTiger, Thanks for reaching out to us. You are doing things right and are only missing the error handling macro iferr_return, which does extract class pointer MyClass* from the ResultMem object. You can find the example class initialization code snippet here. In your specific case the initialization line would look like: maxon::Result<void> Foo() { iferr_scope; // do not forget iferr_scope, to make error handling work MyClass* myClass = NewObj(MyClass) iferr_return; return maxon::OK; }I personally would suggest this manual, as it gives a detailed overview of error handling macros that are commonly used within our sdk frameworks. Let me know if you have any further questions. Cheers, 
 Ilia
- 
 Hi @i_mazlov, no wonder I felt like I was missing something! And now that the iferr_scopeis declared I have to bubble it up all the way and that's how I'll get proper error handling. Sweet!To be honest I read about error handling before but was hoping I could skip it during the prototyping phase. But now that I gotta do it, once I'm out of prototyping it'll even be a lot more stable. Plus I also gotta learn about References now which is probably a good idea.  Thanks for the quick help! Have a nice rest of the day! Best wishes, CJ 

