ошибка: «struct directory_entry» не имеет члена с именем «readable» 380 | directory[file_descriptor].readable =0;

#c

Вопрос:

Может ли кто-нибудь сообщить мне, почему читаемые и записываемые части моей структуры не работают, но все остальные работают? Ошибка, которую я получаю, находится в названии

 struct directory_entry{  unsigned char status;  unsigned char first_block;  unsigned short size;  unsigned short byte_offset;  unsigned short readable;  unsigned short writeable;  char name[FILENAME_LENGTH   1]; };  struct file_block *blocks; struct directory_entry *directory;  

Например, никакие другие биты не выдают ошибок, кроме читаемых и записываемых в этом сегменте

 unsigned int tfs_create( char *name ){  unsigned int file_descriptor;  if( !tfs_check_valid_name( name ) ) return( 0 );  if( tfs_map_name_to_fd( name ) != 0 ) return( 0 );  file_descriptor = tfs_new_directory_entry();  if( file_descriptor == 0 ) return( 0 );  directory[file_descriptor].status = OPEN;  directory[file_descriptor].first_block = 0;  directory[file_descriptor].size = 0;  directory[file_descriptor].byte_offset = 0;  directory[file_descriptor].readable = 0;  directory[file_descriptor].writeable = 0;  strcpy( directory[file_descriptor].name, name );  return( file_descriptor ); }  

Комментарии:

1. Какое сообщение об ошибке вы получаете? Является ли один из заголовков, который вы используете вместе с этим, определяющим макросы, подобные объектам, для readable и writeable так, чтобы там, где, по вашему мнению, у вас есть directory[file_descriptor].readable препроцессор, он преобразовывал его во что-то совсем другое, например directory[file_descriptor].(3) ? Попробуйте запустить компилятор с флагом -E или -P , чтобы сохранить предварительно обработанный вывод. Вы можете прийти в ужас от того, что обнаружите!