ожидаемая ошибка объявления параметров при использовании fread () в C - PullRequest
0 голосов
/ 20 апреля 2020

Я использую fread () для чтения двоичного файла. Я хочу читать как неподписанный короткий int. Я получаю эту ошибку expected parameter declarator

для следующего кода:


int analyzeFile (FILE* binary_file , mem_location** memory)
{

    unsigned short int row;
    size_t fread (&row, sizeof(unsigned short int), 1, FILE* my_obj_file);

    fclose(my_obj_file);
    return 0 ;
}

Я считаю, что неправильно использую адрес памяти row и sizeof (unsigned short int).

Спасибо

1 Ответ

1 голос
/ 20 апреля 2020
FILE* my_obj_file

если предполагается, что это приведение, это должно быть

(FILE*) my_obj_file

Сложно понять, потому что эта переменная не объявлена ​​в области действия функции, в любом случае это недопустимый параметр.

Параметр binary_file не используется, возможно, это именно то, что вы намеревались использовать.

Неправильно указывать тип возвращаемого значения перед используемой вами функцией, т. Е. для объявления или определения.

То, что вы можете захотеть это:

size_t size = fread (&row, sizeof(unsigned short int), 1, binary_file); //or my_obj_file
            ^                                            ^
     assign return value                            no type used
...