switch文でのLANG_CHINESE

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
パックマン

switch文でのLANG_CHINESE

#1

投稿記事 by パックマン » 3年前

OSの言語識別子を取得して言語ファイルの読み込みを振り分けている最中なのですが
どうしてもLANG_CHINESEだけ「式が必要です」となりエラーになります

コード:

 
WORD priLangID = PRIMARYLANGID(::GetSystemDefaultLangID()); //主要言語取得
WORD subLangID = SUBLANGID(::GetSystemDefaultLangID()); //サブ言語取得
switch (priLangID) {
case LANG_JAPANESE: {
	//TODO
	break;
}

case LANG_ENGLISH: {
	//TODO
	break;
}

case LANG_CHINESE: {
	switch (subLangID) {
	case SUBLANG_CHINESE_TRADITIONAL:
		//TODO
		break;
	case SUBLANG_CHINESE_HONGKONG:
		//TODO
		break;
	case SUBLANG_CHINESE_SIMPLIFIED:
		//TODO
		break;
	case SUBLANG_CHINESE_SINGAPORE:
		//TODO
		break;
	}
}
  


外国の方のサイトを見ても同じように書いてる人も居るので何が原因か分かりません
お時間がありましたら手解きお願いします

Butter
記事: 18
登録日時: 3年前

Re: switch文でのLANG_CHINESE

#2

投稿記事 by Butter » 3年前

とりあえず「{」と「}」の数が合ってないと思います
最後にもう1つ「}」を追加したらどうですか?
とても暇で忙しい

パックマン

Re: switch文でのLANG_CHINESE

#3

投稿記事 by パックマン » 3年前

返信ありがとうございます

申し訳ないですが、それは全く関係ないです
挙げる際に消してしまっただけなので

LANG_CHINESEにはSUNLANGとして香港や台湾などの言語が用意されてるのです
そしてLANG_CHINESEを使用するには Use with SUBLANG_CHINESE_* Sublanguage IDsとあるので
記載したようにswitch文内にswitch文で振り分けています

通りすがり

Re: switch文でのLANG_CHINESE

#4

投稿記事 by 通りすがり » 3年前

どの環境でどのようにしてそうなったのか書かないとここの人達は相手してくれないんじゃないかな。

当方のVS2019、C++17環境ではそのコードは通る。
当たり前のようにAtomでもVCodeでもEclipseでも通る。
VSならば不具合も多く立ち上げ直すと整合性チェックが無事通ることもあるのでそちらも試した?
あとは定義表示時に提供ファイル群(API、インターフェース)のコードに不要な文字を打ち込んだり消したりしてる可能性もある。
使用ソフトの再インスコも試してみた?
それとブレースを挙げる際に消してしまったならもっと早く言うべきでは?
ブレースが欠けた状態では「式が必要です」ではなく「一致するトークンが見当たらない」と出るはずだから、コードに間違いがないならソフトウェアの動作に目を向けた方がいい。

アバター
あたっしゅ
記事: 664
登録日時: 13年前
住所: 東京23区
連絡を取る:

Re: switch文でのLANG_CHINESE

#5

投稿記事 by あたっしゅ » 3年前

もう見たかもしれませんが、
https://www.kazetest.com/vcmemo/multi-l ... i-lang.htm
VTuber:
東上☆海美☆(とうじょう・うみみ)
http://atassyu.php.xdomain.jp/vtuber/index.html
レスがついていないものを優先して、レスするみみ。時々、見当外れなレスしみみ。

中の人:
手提鞄あたッしュ、[MrAtassyu] 手提鞄屋魚有店
http://ameblo.jp/mratassyu/
Pixiv: 666303
Windows, Mac, Linux, Haiku, Raspbery Pi, Jetson Nano, 電子ブロック 持ち。

パックマン

Re: switch文でのLANG_CHINESE

#6

投稿記事 by パックマン » 3年前

VSCodeを再インストールしたところ無事エラーが出なくなりました
ゲームでマウスに色んなキーを割当てているため、関数の定義等を見た際に謝ってサイドボタンを
入力して保存していたのかもしれません
助かりました

パックマン

Re: switch文でのLANG_CHINESE

#7

投稿記事 by パックマン » 3年前

>>あたっしゅさん

そのサイトのコードをそのまんまコピペしたところエラーが出て、波かっこを追加したりして原因を探っていました
元々のコードがそのサイトのものなので自分で試行錯誤していた名残の波かっこが足りないとかそういったことではなかったのです

通りすがりさんのおかげで無事解決したのでここで閉めさせていただきます
ありがとうございました

返信

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