Windows2005下VC++6やVC2005で使っています。
unsigned char image_in[3][Y_SIZE][X_SIZE];
RgbToBitmap(image_in[0], image_in[1], image_in[2], hBitmap);
とコーディングしたら
下記のエラーが出ました。
1>e:\imaging.cpp(192) : error C2664: 'RgbToBitmap' : 1 番目の引数を 'unsigned
char [128][128]' から 'unsigned char [][512]' に変換できません。(新しい機能 ;
ヘルプを参照)
1> 指示された型は関連がありません。変換には reinterpret_cast、C スタイ
ル キャストまたは関数スタイルのキャストが必要です。
どう書き直せばいいのでしょうか?
こう言った書き方でコンパイルが通ったとも本に
書いてあったが、コンパイラーの新しいバージョンアップでそうなったのか、
のきなみ、
RgbToBitmapを使うところでは、エラーです。
、
ちなみに、こんなところでも、同様のエラーが。
行き詰った。
int hist[256];
histgram(image_in[1], hist);
1>e:\imaging.cpp(305) : error C2664: 'histgram' : 2 番目の引数を 'int [256]' か
ら 'long []' に変換できません。(新しい機能 ; ヘルプを参照)
1> 指示された型は関連がありません。変換には reinterpret_cast、C スタイ
ル キャストまたは関数スタイルのキャストが必要です。
1>e:\imaging.cpp(192) : error C2664: 'RgbToBitmap' : 1 番目の引数を 'unsigned
char [128][128]' から 'unsigned char [][512]' に変換できません。
X_SIZE を512にする。
1>e:\imaging.cpp(305) : error C2664: 'histgram' : 2 番目の引数を 'int [256]' か
ら 'long []' に変換できません。
int hist[] → long hist[]
さもなくば関数側を引数にあわせる。