構造体の構造体の構造体をまとめて初期化したい
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' で異なっています。(複数)
・初期化子の数が多すぎます。
と出ます。
長くなりましたが、わかる方がいましたら、よろしくお願いします。
お礼
できました! ありがとうございました。大感謝です!