Помогите чайнику
Есть функция (интересует только последний параметр)
void __fastcall AdsCreateIndex(const AnsiString strFileName, const AnsiString strTagName, const AnsiString strExpression, const AnsiString strCondition, const AnsiString strWhile, TAdsIndexOptions setIndexOptions)
В ее реализации есть такие строки
enum TAdsIndexOption { optCOMPOUND, optUNIQUE, optDESCENDING, optCUSTOM, optUSERDEFINED };
typedef Set<TAdsIndexOption, optCOMPOUND, optUSERDEFINED> TAdsIndexOptions;
Я ее вызываю так
TableName->AdsCreateIndex("", "Index_Name", "Index_Expr", "", "", optCOMPOUND);
Компилятор ругается так
Cannot convert ‘TAdsIndexOption’ to ‘TAdsIndexOptions’
Что здесь не так?
enum TAdsIndexOption { optCOMPOUND, optUNIQUE, optDESCENDING, optCUSTOM, optUSERDEFINED };
typedef Set<TAdsIndexOption, optCOMPOUND, optUSERDEFINED> TAdsIndexOptions;
TableName->AdsCreateIndex("", "Index_Name", "Index_Expr", "", "", optCOMPOUND);
Cannot convert ‘TAdsIndexOption’ to ‘TAdsIndexOptions’
Наверное ты заметил, что TAdsIndexOptions - это набор, который состоит из элементов перечисления TAdsIndexOption...
Поэтому необходимо Вызывать функцию следующим образом:
TableName->AdsCreateIndex("", "Index_Name", "Index_Expr", "", "", TAdsIndexOptions() << optCOMPOUND);
PS. надеюсь не ни чего ненапутал...