exponenta event banner

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

readEnum Функция

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 с эквивалентным числовым аргументом. Enum1 определение объявляет перечисление en4 равно 4.

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

Связанные темы