主要内容

无效的c++名称MATLAB

MATLAB®自动重命名类、成员函数、非成员函数和枚举的c++名称,这些名称在MATLAB中无效matlab.lang.makeValidName函数。无效的c++名称的枚举数和数据成员不会自动重命名。

手动重命名

发布者可以在库定义文件中重命名类、枚举或非成员函数。不支持重命名c++命名空间、嵌套类的外部(封闭)类、成员函数、数据成员、枚举或MATLAB包。金宝app

例如,MATLAB转换类名_myclass在图书馆mylibx_myclass.要在MATLAB中使用该类,输入:

clib.mylib.x_myclass

重命名x_myclass,在库定义文件中更改名称x_myclassmyClass,然后构建接口。当你在MATLAB中使用该类时,输入:

clib.mylib.myClass

使用无效的属性名称

您可能需要访问MATLAB中的属性,但属性的名称可能不是有效的MATLAB名称。例如,名称可能以下划线开头。要在运行时派生此名称,请使用MATLAB语法,其中propertyName是字符串标量或字符向量,在求值时返回属性的实例。

clib.libName.className。(propertyName)

例如,假设您有接口clib.demo.MyClass这个属性:

MyClass{public: int _mean;};

分配财产_mean变量的类型为:

x = clib.demo.MyClass;xmean = x。“_mean”

此语法对小于最大标识符长度的名称有效namelengthmax

使用无效的枚举值名称

您可能需要在MATLAB中创建一个枚举值,但该值的名称可能不是有效的MATLAB名称。例如,枚举名称可能以下划线开头。要在运行时从这个名称派生一个值,请使用MATLAB语法,其中enumMember是字符串标量或字符向量,在求值时返回枚举的实例。

clib.libName.enumName。(enumMember)

例如,假设您有接口clib.enums.keywords这些属性:

带有属性的枚举定义:关键字c++枚举表示" DefiningLibrary: [1×1 clibgen. php . php]。LibraryDefinition] CPPName: "keywords" MATLABType: "int32"有效:1 MATLABName: "clib.enums. "关键字" Entries: ["_for" "_while" "_class" "_enums" "_template" "_typename"]

指定条目_class变量的类型为:

var = clib.enums.keywords。(“_class”);

此语法对小于最大标识符长度的名称有效namelengthmax

某些类名类型定义别名不支持金宝app

MATLAB不支持类金宝app类型定义与类中的方法同名的别名。