Пример: у меня есть ф-ция вывода на экран массива, которая принимает указатель, и длину. Я могу, не создавая отдельной переменную, сразу передать число как аргумент?
Может я должен переделать ф-цию print, например первый параметр: const uint8_t* mass или еще как нибудь? Я гарантирую, что ф-ция print будет только читать значения, и не будет их менять!
#include
using namespace std;
void print(uint8_t * mass, uint16_t len)
{
uint16_t i;
for (i = 0; i < len; i++)
{
cout << mass[i];
}
cout << endl;
}
int main()
{
print(&((uint8_t)0),1);
return 0;
}
Пока у меня не получилось, надеюсь на вашу помощь.
Ответ
Если массив состоит из однобайтовых значений, то можно вместо символа передать строку: https://ideone.com/hP60jc
#include
void print(unsigned char *a, size_t n)
{
unsigned char *end;
for (end=a+n; a
');
}
int main()
{
print((unsigned char*)"Q", 1);
return 0;
}
Комментариев нет:
Отправить комментарий