これまでのところ、ポインターの有無にかかわらず、構造体について読みました。私の質問は、クラスとメインを組み合わせた構造体についてです。K&R と C++ のサイトから学んだことは、構造体には値を含めることができないということです。メンバーに割り当てたい値は定数になります。いくつかの投稿で、構造体をクラス内、さらにはプライベート内に配置する必要があることを読みました。私が使用したセットアップは次のとおりです。
class C
{
struct something {const float m = 3} s;` //actually 12 members. Compiler doesn't accept values: "ISO C++ forbids initialization of member"
function foo(struct something s){ float m = s.m; <..do something..>}` //struct s actually used in several functions
};
int main(){C c;}
次に、2 つの構造体を作成し、2 番目に最初のメンバーに値を割り当てさせましたが、これは見苦しいと思います。しかし、なぜそれが gcc に受け入れられたのでしょうか? 値の割り当ては関数内で行う必要があるため、適切な方法で値を1回だけ割り当てるにはどうすればよいですか。ところで、Ubuntu gcc-4.6.1 を使用しています。
回答ありがとうございます。