Unable to interpret fixed size array, matlab compiler
Afficher commentaires plus anciens
I have two lines of c++ code that I'm trying to interface through matlab. (1) does not work, but (2) works - why is that? I need to use (1).
(1)
typedef unsigned short uint16;
const uint16 kLevels = 256;
bool SetTable(const float (*newLut)[kLevels]);
(2)
enum
{
kLevels = 256;
};
bool SetTable(const float (*newLut)[kLevels]);
matlab calling routine:
table1 = zeros(1,256);
[flag] = calllib(libName,'SetTable', single(table1));
error is:
Error using loadlibrary (line xxx)
: error
C2057: expected constant expression
: error
C2466: cannot allocate an array of constant size 0
I have no problem using the uint16 in other places. Is the compiler not understanding this function definition?
Réponses (1)
Walter Roberson
le 17 Sep 2015
You wrote
const unit16 kLevels = 256;
instead of
const uint16 kLevels = 256;
1 commentaire
NIKHIL
le 17 Sep 2015
Catégories
En savoir plus sur Data Types dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!