Как объявить байт * (байтовый массив) в C ++?

Как объявить byte * (байтовый массив) в c ++ и как определить его как параметр в определении функции?

когда я заявляю, как показано ниже

Объявление функции:

int Analysis(byte* InputImage,int nHeight,int nWidth);

Получение ошибки: «байт» не определен

0

Решение

Нет типа byte в C ++. Вы должны использовать typedef до. Что-то вроде

typedef std::uint8_t byte;

в C ++ 11 или

typedef unsigned char byte;

в C ++ 03.

3

Другие решения

Тип C ++, представляющий байт unsigned char (или другой признак аромата char, но если вы хотите, чтобы это были простые байты, unsigned это вероятно то, что вы после).

Однако в современном C ++ не следует использовать необработанные массивы. использование std::vector<unsigned char> если ваш массив имеет размер времени выполнения, или std::array<unsigned char, N> (C ++ 11), если ваш массив имеет статический размер N, Вы можете передать их функциям через (const) ссылки, например так:

int Analysis(std::vector<unsigned char> &InputImage, int nHeight, int nWidth);

Если Analysis не изменяет массив или его элементы, вместо этого сделайте следующее:

int Analysis(const std::vector<unsigned char> &InputImage, int nHeight, int nWidth);
2

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector