性格いい人が優勝

c++のプログラムの編集をしています。
環境はwindowsXPでVisual Stdio. NETを使っています。
既存のプログラムに0penC Vを使う機能を付け足したいのですが、
#include <highgui.h>一行を追加すると別の.hファイル中の

TYPE max();
TYPE absmax();
(※ただし#define TYPE double)

という部分で『:の前に予期しないトークンがありました。関数の本体は無視されます』というエラーや『かっこ)やカンマ;がない』といった構文エラーがでてしまいます。

上記は# include <h ighgui.h>の一行を付け加えただけでコンパイルした場合です。
付け加えない場合はもちろん正常に動きます。
また、# include <cv.h>を加えてもコンパイラは通りました。

0penCVの実装環境としてのリンクの設定などは何度もチェックして間違っていないと思います。
(プロジェクトが大きいのでプログラム全体は載せられません。)

h ighgui.hにmax関数とかがあるんでしょうか?

原因がまったくわからず困っています。
なにかヒントになるようなことでもいいのでアドバイスをお願いします。

A 回答 (1件)

highgui.hからwindows.hをインクルードしています


max( )がwindowsで定義されているマクロと重複したためでしょう
    • good
    • 0
この回答へのお礼

アドバイスありがとうございます。
エラーがでた.hファイルのmax()をm_max()と変更したらコンパイルできるようになりました。
ありがとうございましたm(_ _)m

お礼日時:2009/11/19 17:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!