and here's the problem: ness-engine uses std::shared_ptr<> (managed pointer that delete the object when no one has reference to it) for all its basic types. which means, Ness::ManagedResources::ManagedFontPtr definition looks like this: std::shared_ptr<ManagedFont>. a shared ptr is a class that wraps the raw pointer, so the constructor must receive a raw pointer as a parameter. so the compilation error you are getting is for trying to send char* ("../ness-engine/resources/fonts/courier.ttf") instead of a ManagedFont* pointer to the shared_ptr constructor.
now the macro ness_make_ptr<> is an alias to an std macro make_shared, which is a more efficient way to create a shared_ptr (you can read more here en.cppreference.com/w/cpp/memory/shared_ptr/make_shared ), and also get the original class constructor params. that's why you had no problem compiling it.
hope I was clear enough, if not let me know and I'll try to explain further.