c++でbyte*(バイト配列)を宣言する方法と、関数定義でパラメータとして定義する方法は?
以下のように宣言すると
関数宣言:
int Analysis(byte* InputImage,int nHeight,int nWidth);
取得エラー:「バイト」未定義
バイトを表す 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);
byte
C++ には型がありません。前に使用する必要がありますtypedef
。何かのようなもの
typedef std::uint8_t byte;
C++11、または
typedef unsigned char byte;
C++03 で。