ArraySize - ошибка

 

В документации функция определена так:    int  ArraySize(const void&  array[]);

Однако следующий код выдаёт FALSE:

int array[5];
Alert( ArraySize(array) > -1 );

Из чего следует, что в реальности функция определена как uint, поэтому -1 тоже приводится к uint.

Необходимо либо поправить справку, либо привести функцию в соответствие с описанием.

 

Хм, попробовал такую проверку:

void f(int a) { Alert("int"); }
void f(uint a) { Alert("uint"); }
void f(long a) { Alert("long"); }
void f(ulong a) { Alert("ulong"); }

void OnStart()
{
  int array[5];  
  f( ArraySize(array) );
}

Получаю "int".  Тогда вообще непонятно, в чём дело.

 
Meat:

В документации функция определена так:    int  ArraySize(const void&  array[]);

Однако следующий код выдаёт FALSE:

Из чего следует, что в реальности функция определена как uint, поэтому -1 тоже приводится к uint.

Необходимо либо поправить справку, либо привести функцию в соответствие с описанием.

А если так:

int array[5];
Alert (ArraySize (array), " > -1");

?

 
это уже шаманством попахивает
 
TarasBY:

А если так:

?

И что?  Зачем мне ваши кавычки?
 
Meat:
И что?  Зачем мне ваши кавычки?
...посмотреть "чего выводится".
 
TarasBY:
...посмотреть "чего выводится".


Извините за нескромный вопрос, не сочтите за оскорбление, вы прикалываетесь или действительно на столько тупы? 

Если прикалываетесь, надо знать место шуткам. 

 
Integer:


Извините за нескромный вопрос, не сочтите за оскорбление, вы прикалываетесь или действительно на столько тупы? 

Если прикалываетесь, надо знать место шуткам. 


Дмитрий, мания величия лечится! Дайте мне свой адрес - я вас избавлю от неё.


P.S. Сочтите моё предложение за искреннее желание помочь.

 
TarasBY:

Дмитрий, мания величия лечится! Дайте мне свой адрес - я вас избавлю от неё.


P.S. Сочтите моё предложение за искреннее желание помочь.


Ясно понял, второй вариант.  Сложно поверить, но факт есть факт.
 

Алексей, всё-таки дело не в функции ArraySize(), так как этот вариант:

    int array[5], size = ArraySize (array);
    Alert (size > -1);

отрабатывает правильно.

 

В ней дело, в ней.

int array[5];
bool x=(ArraySize(array)>(-1));
  Alert(x); // false