реклама на сайте
подробности

 
 
> Библиотека работы с файловой системой Petit FatFs R0.02a, Банальный вопрос по привидению типов
Twen
сообщение Sep 26 2011, 14:40
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 163
Регистрация: 7-02-09
Пользователь №: 44 543



Скачал библиотеку работы с файловой системой Petit FatFs R0.02a.
Прикрутил , не не могу скомпилировать...

Есть функция :

FRESULT pf_read (
void* buff, /* Pointer to the read buffer (NULL:Forward data to the stream)*/
WORD btr, /* Number of bytes to read */
WORD* br /* Pointer to number of bytes read */
)
{
DRESULT dr;
CLUST clst;
DWORD sect, remain;
WORD rcnt;
BYTE cs, *rbuff = buff; / !!!!!!!!!!!!!!!Ругается
....
....
}

Пишет что указатель типа BYTE не может быть инициализирован buff, который имеет тип void*...
Error [Pe144]: a value of type ''void *" cannot be used to initialize an entity of type "BYTE*"

Я писал *rbuff = (BYTE)buff, но пишет ошибку...


Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Сергей Борщ
сообщение Sep 26 2011, 19:48
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (Twen @ Sep 26 2011, 17:40) *
Пишет что указатель типа BYTE не может быть инициализирован buff, который имеет тип void*...
Error [Pe144]: a value of type ''void *" cannot be used to initialize an entity of type "BYTE*"
А вы случаем не в режиме C++ компилируете? В таком случае правильно ругается. В С++ разрешено неявное приведение любого указателя к void *, но не наоборот. В С оба приведения являются легальными. Библиотека написана на С. Вам необходимо сделать явное преобразование. Как именно - выше подсказали.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 04:06
Рейтинг@Mail.ru


Страница сгенерированна за 0.01363 секунд с 7
ELECTRONIX ©2004-2016