Перейти к содержанию
    

ругается Eclipse

Коллеги, почему может ругаться(warning)  Eclipse на следующую запись?

	alt_u8 n[3];
	alt_8 latitude_deg;
....
	n[0] = buf_rx_data[7];
	n[1] = buf_rx_data[8];
	n[2] = 0;
	latitude_deg = atoi(n);
Description    Resource    Path    Location    Type
pointer targets in passing argument 1 of 'atoi' differ in signedness [-Wpointer-sign] 
passing argument 1 of 'atoi' from incompatible pointer type [enabled by default]	main.c	/receiver_app	line 69	C/C++ Problem

Что ему в знаках не нравится?
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

51 minutes ago, _sda said:

Что ему в знаках не нравится?
 

Мб, дело в том, что вы в atoi засовываете массив чисел (n[3]), а не отдельно взятое число?

Попробуйте конкатенировать этот массив, и потом засунуть в atoi.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

44 минуты назад, nice_vladi сказал:

Мб, дело в том, что вы в atoi засовываете массив чисел (n[3]), а не отдельно взятое число?

Попробуйте конкатенировать этот массив, и потом засунуть в atoi.

Это не массив чисел, а массив десятичных разрядов числа.

	n[0] = '4';
	n[1] = '7';
	n[2] = '0';
	latitude_min = atoi(n);

На выходе получаем число 47.

Как я понял ругня идёт на выход из  atoi.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 minutes ago, _sda said:

Это не массив чисел, а массив десятичных разрядов числа.

Да, я понимаю, что все вместе - это десятичное число. Но компилятор не в курсе =) И, возможно, ему не нравится, что вы в функцию atoi передаете МАССИВ чисел. А объявление типа:

alt_u8 n[3];

Выглядит как раз, как массив из 3х alt_u8 чисел. Или я что-то не так понял?

Прошу прощения, все перепутал. Почитал внимательнее гугл =))

 

Могу предположить, что это из-за нестандартного типа входных данных для функции atoi. Попробуйте привести к char:

latitude_min = atoi((char *) n);

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Требуется char*, а передается unsigned char*

On 1/20/2020 at 1:53 PM, _sda said:

n[0] = '4'; n[1] = '7'; n[2] = '0'; latitude_min = atoi(n);

Наверное, все же:

n[2]=0;

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...