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

функция 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'

Похожие темы

Была ли эта тема полезной?