Unable to interpret fixed size array, matlab compiler
显示 更早的评论
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?
回答(1 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Data Types 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!