Error with C++ Mex (Linux) in MatlabData​Array/Vari​ableInfo.h​pp

Hello,
I'm trying to compile a C++ Mex file in Linux + CMake, with Matlab 2020b.
I've followed your guide and included mexAdapter.hpp.
I get this error error: /usr/local/MATLAB/R2020b/extern/include/MatlabDataArray/VariableInfo.hpp(137): error #858: type qualifier on return type is meaningless:
typedef const void(*SymbolInfoSetValueFcnPtr)(detail::RefCounted*, size_t, impl::ArrayImpl*);
Can't compile due to that. Any idea how to fix this?
Thanks,
Amit

Answers (1)

Hi Amit,
The error message "error #858: type qualifier on return type is meaningless" points out that applying a type qualifier like const to the return type of a function pointer is not meaningful. In the context of your typedef declaration, the issue arises from trying to make the return type of the function pointer const void. Non-class rvalues (like primitives returned by functions) cannot be modified, so they inherently behave as if they are const, even without being explicitly declared as such.
Hope it helps!

Asked:

on 14 Oct 2021

Answered:

on 10 May 2024

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!