sizeof является чистым временем компиляции в C++ и C до C99. При запуске с C99 существуют массивы переменной длины:
// returns n + 3
int f(int n) {
char v[n + 3];
// not purely a compile time construct anymore
return sizeof v;
}
, Который оценит sizeof
операнд, потому что n
еще не известен во время компиляции. То, что только относятся к массивам переменной длины: Другие операнды или типы все еще заставляют sizeof вычислить во время компиляции. В частности, массивы с размерами, известными во время компиляции, все еще обрабатываются как в C++ и C89. Как следствие значение, возвращенное sizeof
, не является временем компиляции, постоянным (константное выражение) больше. Вы не можете использовать его, где такое значение требуется - например, при инициализации статических переменных, если компилятор, который определенное расширение позволяет ему (Стандарт C позволяет реализации иметь расширения того, что это рассматривает как постоянное).
Вам необходимо отметить свойство «Защищено», чтобы оно перешло со стороны клиента (InstallUISequence) на сторону сервера (InstallExecuteSequence). Для этого вам необходимо сделать Свойство "общедоступным" (ВСЕ ЗАГЛАВНЫМИ буквами) и безопасным. Примерно так:
Вам не нужно указывать значение, если вы не хотите, чтобы что-то отображалось в вашем пользовательском интерфейсе по умолчанию.