unionについての質問です
たとえば2次元ベクトルのプログラムを作るとして、
等のように、x,yではもちろん、u,vなど違う名前でもアクセスをしたい、
と思い、こう書いてみました
VC2010ではコンパイルできましたが、
codepadでは無理でした。
なのでこの使い方はおそらくコンパイラの独自拡張だろうと思います。
このように別名でアクセスする方法をお伺いしたいです。
よろしくお願いします。
※ V.xy.x やV.uv.uなどはできまが、今回はやりたくないと考えています。
unionについて
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 14年前
- 住所: 東海地方
- 連絡を取る:
Re: unionについて
codepadは環境の名前なのでコンパイラ名を明確にしていただけますか?
少なくとも、この書き方だとC++でないとコンパイルは通りません。
ちなみに、Borland C++ Compiler 5.5とg++(gcc)ではコンパイルOKでした。
少なくとも、この書き方だとC++でないとコンパイルは通りません。
ちなみに、Borland C++ Compiler 5.5とg++(gcc)ではコンパイルOKでした。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: unionについて
softya(ソフト屋) さん ありがとうございます
失礼しました 確認してみたところ、
C++: g++ 4.1.2
flags: -O -std=c++98 -pedantic-errors -Wfatal-errors -Werror -Wall -Wextra -Wno-missing-field-initializers -Wwrite-strings -Wno-deprecated -Wno-unused -Wno-non-virtual-dtor -Wno-variadic-macros -fmessage-length=0 -ftemplate-depth-128 -fno-merge-constants -fno-nonansi-builtins -fno-gnu-keywords -fno-elide-constructors -fstrict-aliasing -fstack-protector-all -Winvalid-pch
となっていました gcc-g++-4.1.2のようです
Borland C++ Compilerのテスト、感謝いたします。
このunionの使い方はあまり推奨されないでしょうか?
失礼しました 確認してみたところ、
C++: g++ 4.1.2
flags: -O -std=c++98 -pedantic-errors -Wfatal-errors -Werror -Wall -Wextra -Wno-missing-field-initializers -Wwrite-strings -Wno-deprecated -Wno-unused -Wno-non-virtual-dtor -Wno-variadic-macros -fmessage-length=0 -ftemplate-depth-128 -fno-merge-constants -fno-nonansi-builtins -fno-gnu-keywords -fno-elide-constructors -fstrict-aliasing -fstack-protector-all -Winvalid-pch
となっていました gcc-g++-4.1.2のようです
Borland C++ Compilerのテスト、感謝いたします。
このunionの使い方はあまり推奨されないでしょうか?
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 14年前
- 住所: 東海地方
- 連絡を取る:
Re: unionについて
更に調べてみました。
-pedantic-errors でエラーが出るので無名構造体でエラーが出ています。
あぁ、無名構造体がC++で非推奨なので、-pedantic-errorsとするとエラーになるってことみたいですね。
今後使って良いのかも疑問です。
-pedantic-errors でエラーが出るので無名構造体でエラーが出ています。
あぁ、無名構造体がC++で非推奨なので、-pedantic-errorsとするとエラーになるってことみたいですね。
今後使って良いのかも疑問です。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。