I have run into an issue with the GETSET_DATA_FUNCS (GETSET_DATA_FUNCS_F, GETSET_DATA_FUNCS_B, etc.)
It used to be (with versions < 17) that I was able to do:
GETSET_DATA_FUNCS_I(GetTestName(), Test);
where GetTestName() returns a char*, e.g. “test”.
If I do this now with Houdini 17.0.352, I get:
error C2665: ‘UT_StringLit::UT_StringLit’: none of the 3 overloads could convert all the argument types
c:\program files\side effects software\houdini 17.0.352\toolkit\include\ut\ut_stringholder.h(94): note: could be ‘UT_StringLit::UT_StringLit(UT_StringLit &&)’
c:\program files\side effects software\houdini 17.0.352\toolkit\include\ut\ut_stringholder.h(94): note: or ‘UT_StringLit::UT_StringLit(const UT_StringLit &)’
c:\program files\side effects software\houdini 17.0.352\toolkit\include\ut\ut_stringholder.h(59): note: or ‘UT_StringLit::UT_StringLit(void)’
Is there any way to make it work like it used to? Do I need to cast my function return value?
I know it is working if I do:
a)
GETSET_DATA_FUNCS_I("test", Test);
or
b)
#define TEST_NAME "test" // defined somewhere
GETSET_DATA_FUNCS_I(TEST_NAME , Test);
But I would like to keep using my existing api that has functions to return me the names I need.
Any help would be very much appreciated.
Thanks in advance