構造体の構造体の構造体をまとめて初期化したい
gnuplotをCで吐くためのプログラムを作成していますが、
構造体の構造体の構造体をまとめて初期化することができません。
以下がコードそのコードです。
#define MAX_PLOT_DATA_NUM 8
#define MAX_GRAPH_SET_NUM 35
//child --------------------------------------------------
typedef struct {
char *fileName;
int column[2];
char *caption;
} Col;
//child --------------------------------------------------
typedef struct {
char *category;
char *subCategory;
char *xLabel, *yLabel;
char *saveFileName;
Col col[MAX_PLOT_DATA_NUM];
} GraphSet;
//child --------------------------------------------------
typedef struct {
char *lineFormat;
int lineWidth;
} Common;
//mother -------------------------------------------------
typedef struct {
GraphSet gs[MAX_GRAPH_SET_NUM];
Common common;
} PlotFormats;
int main(){
PlotFormats pF = {
{"Motor angle","right","Time [s]","Angle [rad]","ang_R",
{"motor.dat",1,2,"ang #1 "},
{"motor.dat",1,3,"ang #2 "},
{"motor.dat",1,4,"ang #3 "},
{"motor.dat",1,5,"ang #4 "},
{"motor.dat",1,6,"ang #5 "},
{"motor.dat",1,7,"ang #6 "},
},
//ここから下のコメントアウトしてる部分をはずすとコンパイルが通らなくなります。
//{"Motor angle","left","Time [s]","Angle [rad]","ang_L",
// {"motor.dat",1,12,"ang #1 "},
// {"motor.dat",1,13,"ang #2 "},
// {"motor.dat",1,14,"ang #3 "},
// {"motor.dat",1,15,"ang #4 "},
// {"motor.dat",1,16,"ang #5 "},
// {"motor.dat",1,17,"ang #6 "},
//},
{"w l", 5}};
return 0;
}
エラーは
・間接参照のレベルが 'char *' と 'int' で異なっています。(複数)
・初期化子の数が多すぎます。
と出ます。
長くなりましたが、わかる方がいましたら、よろしくお願いします。
補足
回答ありがとうございます。ええ、確かに不思議ですよね。まずその大きさにおどろきます。そして形も奇妙ですし、はっきり言って不気味です。たしかに、ここは、軍事基地も近く、あやしいところです。仰るとおり、「エリア51」付近にも近年、不思議な図形もいくつか見つかっているようです。