Передайте примеры перечисленных типов

readEnum Функция

The readEnum функция в shrlibsample в библиотеке отображается строка, совпадающая с входным параметром.

EXPORTED_FUNCTION char* readEnum(TEnum1 val)
{
	 static char outputs[][20] = { 
        {"You chose en1"}, 
        {"You chose en2"}, 
        {"You chose en4"}, 
        {"enum not defined"}, 
        {"ERROR"} };

	 switch (val) {
        case en1: return outputs[0];
        case en2: return outputs[1];
        case en4: return outputs[2];
        default : return outputs[3];
    }
    return outputs[4];
}

Сигнатура функции:

Тип возвратаИмяАргументы
cstringreadEnum(Enum1)

Значения для Enum1 входы определяются в shrlibsample.h заголовочный файл.

typedef enum Enum1 {en1 = 1, en2, en4 = 4} TEnum1;

Отображение значений перечисления

Этот пример показывает, как передать значения перечисления в readEnum функция в shrlibsample библиотека. Загрузите библиотеку.

if not(libisloaded('shrlibsample'))
    addpath(fullfile(matlabroot,'extern','examples','shrlib'))
    loadlibrary('shrlibsample')
end

В MATLAB можно выразить перечисленный тип как строку перечисления или ее эквивалентное числовое значение. Функции readEnum со строковым аргументом.

calllib('shrlibsample','readEnum','en4')
ans = 
'You chose en4'

Функции readEnum с эквивалентным числовым аргументом. The Enum1 определение объявляет перечисление en4 равным 4.

calllib('shrlibsample','readEnum',4)
ans = 
'You chose en4'

Похожие темы