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

 
 
> Warnig [Pe167], Не понимаю
Igor26
сообщение Oct 25 2005, 12:11
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 10-02-05
Пользователь №: 2 544



Уважаемые коллеги! Объясните пожалуйста, что не так. Компилирую файл:

unsigned char Buff[xx];

void F1(void)
{
-----------
Func(Buff);
-----------
}
Объявляю массив Buff[xx] в хидере File1.h следующим образом: extern unsigned char Buff[xx];
Компиляция этого файла проходит прекрасно.

Есть в проекте другой файл:

#include "File1.h"

void F2(void)
{
-------------
Func(Buff);
-------------
}
Так вот, при компиляции этого файла, выдается следующее:
Warning[Pe167]: argument of type "char *" is incompatible with parameter of type "unsigned char *"

Прототип функции Func: void Func(unsigned char *XXX) и она расположена в третьем файле. Хидер
с её прототипом подключен в обоих файлах.

Почему компилятор в этом случае стал считать, что входной параметр функции Funk типа CHAR, ведь
явно же указано, что UNSIGNED CHAR? smile3046.gif

Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
BVU
сообщение Oct 26 2005, 06:17
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 301
Регистрация: 30-11-04
Из: Россия, Н.Новгород
Пользователь №: 1 264



Несомненно, что разные компиляторы имеют свои особенности (все зависит от производителя). Но если данный массив объявить для всего проекта, как глобальный - он должен работать однозначно в любом файле проекта (это уже стандарт языка 'C').


--------------------
Не корысти ради, не в целях наживы, а во исполнение велений души!
Go to the top of the page
 
+Quote Post



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

 


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


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