error: cannot call constructor ‘Thing::Thing’ directly [-fpermissive]
clang compiles the code without issuing an error.