MATLAB: MEX: errors with other compiler

changed compilercompilerMATLABmex

Hello,
i changed the compiler for my mex-script. unfortunately i get some errors now. how can i fix these errors? Many thanks as always 🙂
demo.cpp(800) : error C2440: '=' : cannot convert from 'const mxArray *' to 'mxArray *' Conversion loses qualifiers
demo.cpp(807) : warning C4244: '=' : conversion from 'double' to 'int', possible loss of data
demo.cpp(817) : error C2440: '=' : cannot convert from 'void *' to 'float *'

Best Answer

To get the error messages to go away you can probably do this:
Line 800: Put an explicit (mxArray *) cast in the code.
Line 817: Put an explicit (float *) cast in the code.
But you should look at the code in more detail, particularly line 800, to make sure that what is going on is actually OK for the code to do. The compiler is trying to help you here. Why are you passing something that is supposed to be const to something that is not expecting a const? Will it be changed downstream in your code when it was supposed to stay constant?