[an error occurred while processing this directive]
Мощный и гибкий инструмент язык С как то поблек :-(
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено misyachniy 16 июня 2006 г. 12:12

С ассемблера для контроллеров уже перешел на С.
На PC программировал на Pascal затем Delphi.
Теперь перехожу на CPP Builder.
Неявное приведение типов и гибкость как то незаметил.
Для записи в pipe требует указатель на char написал функцию
int WriteToPipe(char *DataBuf, DWORD bNum)
C массивами char компилируется без вопросов.
Когда я объявляю массив unsigned int и передаю его в функцию, получаю ошибку компиляции:


[C++ Error] Unit1.cpp(204): E2034 Cannot convert 'unsigned short *' to 'char *'
[C++ Error] Unit1.cpp(204): E2342 Type mismatch in parameter 'DataBuf' (wanted 'char *', got 'unsigned short *')

В любом случае передача указателя происходит двойным словом в регистре(в ассемблерном коде)
и значение будет одинаковым.
Но генерируется не warning а error неявное приведение типов не работает.
В книжке на 6-ой Builder предлагают объявить указатель на void и присвоит ему указатель
на массив - тоже пишет ошибку о том, что void* нельзя привести к char*
Реклама оказывается не только двигает торговлю но и продажу ПО и книг :-

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru