We have a macro stands for null pointers. i.e. UX_NULL. Currently its definition is
#define UX_NULL ((void*)0)
It works perfectly for C projects. But when it comes to C++, we will get compilation errors because ((void*)0) is not allowed in C++ as a null pointer [1]. Instead, 0 or nullptr are allowed. So we need to change the macro definition in C++.
In the PR I use the presence of macro __cplusplus to distinguish C and C++ environments. We will still get the original definitions when we compile C sources. For maximum compability, I choose to use 0 as the definition instead of nullptr because the latter requires c++11 or later.
We have a macro stands for null pointers. i.e.
UX_NULL
. Currently its definition isIt works perfectly for C projects. But when it comes to C++, we will get compilation errors because
((void*)0)
is not allowed in C++ as a null pointer [1]. Instead,0
ornullptr
are allowed. So we need to change the macro definition in C++.In the PR I use the presence of macro
__cplusplus
to distinguish C and C++ environments. We will still get the original definitions when we compile C sources. For maximum compability, I choose to use0
as the definition instead ofnullptr
because the latter requires c++11 or later.[1] https://en.cppreference.com/w/cpp/types/NULL