Неверный аргумент 1 для ошибки sizeof() в pike

Я написал большую программу на щуке, и внезапно она выдает ошибку, которой раньше не было:

неверный аргумент 1 для sizeof().

Кто-то знает проблему? А что я могу сделать? это работало раньше. Вот код:

int main()
{
  string path;
  path=Stdio.Readline()->read("enter a path");   
  add_module_path(path);
  array fileArr=get_dir(path);
  int i=0;
  int j=0;
  while (j != sizeof(fileArr))
  {
    // ... 
  }
}

1 ответ

Если данный путь не существует, то get_dir() вернусь 0,

0 неверный аргумент sizeof(),

проверьте соответствующие значения, прежде чем передавать их.

самое простое в этом случае:

while (arrayp(fileArr) && j != sizeof(fileArr))

Вы могли бы также stat() путь, прежде чем передать его get_dir()

Другие вопросы по тегам