else文がifと一致しないです…

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
アバター
結城
記事: 52
登録日時: 14年前
連絡を取る:

else文がifと一致しないです…

#1

投稿記事 by 結城 » 14年前

どうも、いつもお世話になってます

今回ちょっと久しぶりにプログラムを組んでいたら、
いつもは遭遇しないエラーに引っかかって困っています

エラーではelse文が if と一致しませんといわれるのですが・・・
自分で調べてみる限りコードはおかしくないはずです、よね?
一応サイトをめぐってみました・・・が、
結局解決できなかったのでスレ立てした次第です
どうかよろしくお願いします

環境:VS2005 C++ WinXP (ライブラリ PING,Zip...?)

以下が問題のコードです

コード:

template <class T>
int _DSF_SEPARATER(HWND hwnd,T x,T y)
{
	if((
		x == _DSFA_XYONLY ||
		x == _DSFA_RECTMODE ||
		x == _DSFA_AUTODIVISION) && (
		y == _DSFB_LPCWSTRTYPE ||
		y == _DSFB_LPTSTRTYPE));
	{
		return x+y;
	}else if((
		y == _DSFA_XYONLY ||
		y == _DSFA_RECTMODE ||
		y == _DSFA_AUTODIVISION) && (
		x == _DSFB_LPCWSTRTYPE ||
		x == _DSFB_LPTSTRTYPE));
	{
		return x+y;
	}else if((
		x == _DSFA_XYONLY ||
		x == _DSFA_RECTMODE ||
		x == _DSFA_AUTODIVISION) && (
		y == _DSFA_XYONLY || 
		y == _DSFA_RECTMODE ||
		y == _DSFA_AUTODIVISION) || (
		x == _DSFB_LPCWSTRTYPE ||
		x == _DSFB_LPTSTRTYPE) && (
		y == _DSFB_LPCWSTRTYPE ||
		y == _DSFB_LPTSTRTYPE))
	{
		MessageBox(
			hwnd,
			L"ERROR",
			L"The same mode repeats in an argument, and it is appointed",
			MB_APPLMODAL);
		return -1;
	}
}
[hr]
S.Hinari(Ange;art)
ANGE;ART

アバター
bitter_fox
記事: 607
登録日時: 14年前
住所: 大阪府

Re: else文がifと一致しないです…

#2

投稿記事 by bitter_fox » 14年前

Hinari さんが書きました:

コード:

	if((
		x == _DSFA_XYONLY ||
		x == _DSFA_RECTMODE ||
		x == _DSFA_AUTODIVISION) && (
		y == _DSFB_LPCWSTRTYPE ||
		y == _DSFB_LPTSTRTYPE));
	{
		return x+y;
	}else if((
		y == _DSFA_XYONLY ||
		y == _DSFA_RECTMODE ||
		y == _DSFA_AUTODIVISION) && (
		x == _DSFB_LPCWSTRTYPE ||
		x == _DSFB_LPTSTRTYPE));
	{
		return x+y;
	}
ここの条件式を除くと次のようになります。

コード:

	if((
		...));
	{
		return x+y;
	}else if((
		...));
	{
		return x+y;
	}
よく見るとif文の閉じかっこの後すぐに;があります。
これをif文の終わりと判断したので次のelse ifに対応するif文がないと怒られてしまっています。

アバター
Ciel
記事: 252
登録日時: 14年前

Re: else文がifと一致しないです…

#3

投稿記事 by Ciel » 14年前

一つ目と二つ目のif文のところにセミコロンがついてしまってますよ。
oui C'est la Vie♪

アバター
結城
記事: 52
登録日時: 14年前
連絡を取る:

Re: else文がifと一致しないです…

#4

投稿記事 by 結城 » 14年前

あ、本当ですね
すみませんbitter_foxさんcielさん、ご指摘ありがとうございます

それにしても初歩的なミスです・・・
ANGE;ART

閉鎖

“C言語何でも質問掲示板” へ戻る