0

c++でbyte*(バイト配列)を宣言する方法と、関数定義でパラメータとして定義する方法は?

以下のように宣言すると

関数宣言:

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

取得エラー:「バイト」未定義

4

2 に答える 2

4

バイトを表す 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);
于 2013-04-18T09:49:58.977 に答える
3

byteC++ には型がありません。前に使用する必要がありますtypedef。何かのようなもの

typedef std::uint8_t byte;

C++11、または

typedef unsigned char byte;

C++03 で。

于 2013-04-18T09:49:39.280 に答える