You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The functions that create an entity (thread, semaphore, etc.), take the entity's name as CHAR*.
I believe that, as the name isn't likely to change, the constness of the name (in the structures and the parameters) would be a nice to have feature.
But the reason of the request is that, while it is allowed in "C" to pass a constant string to a "char *" parameter, in C++ (starting from C++11) it is not allowed to pass a string literal (constant) to a "char *" parameter (ISO C++ forbids converting a string constant to 'CHAR *').
The latter forces the user (interfacing a C++ application with ThreadX) to const-cast the name of the entity, something like:
The functions that create an entity (thread, semaphore, etc.), take the entity's name as CHAR*.
I believe that, as the name isn't likely to change, the constness of the name (in the structures and the parameters) would be a nice to have feature.
But the reason of the request is that, while it is allowed in "C" to pass a constant string to a "char *" parameter, in C++ (starting from C++11) it is not allowed to pass a string literal (constant) to a "char *" parameter (ISO C++ forbids converting a string constant to 'CHAR *').
The latter forces the user (interfacing a C++ application with ThreadX) to const-cast the name of the entity, something like:
tx_thread_create(&thread1, const_cast<char*>("Thread name"),....);
which is ugly and, above all, not recommended by many coding standards.
I'd like to know your opinion.
Thanks for your attention.
The text was updated successfully, but these errors were encountered: