Bonjour à tous !
Je dois créer une liste de tables dans un fichier séparé(par macro).
Jusqu’à maintenant, les tables de mon programme étaient crées avec des enums :
Fields.h
fields.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 enum Table { // user data tables table_events = 1, table_activities = 2, // table_notes = 3, // no longer in use table_variables = 4, table_availability_ranges = 5, // local table metadata, not part of the repository table_local_store_data = 9000, };*/
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 static NameTablePair name_table_pairs[name_table_pair_count] = { // user data tables { "events", table_events }, // no longer in use, except by unit tests { "activities", table_activities }, // { "notes", table_notes }, // no longer in use { "variables", table_variables }, { "availability_ranges", table_availability_ranges }, // local table metadata, not in repository { "local_store_data", table_local_store_data }, };
je dois modifier ces fichiers de façon à créer les tables par macro, je voulais savoir si je m'y prenais bien, et si ce n'est pas le cas, pourquoi
j'ai rajouté un fichier field.inc comportant les macros
Fields.inc
j'ai modifié le fichier .h pour 'remplir' mes enum
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 #define Table \ name_table_pairs(events, 1) \ name_table_pairs(activities, 2) \ name_table_pairs(variables, 4) \ name_table_pairs(availability_ranges, 5) \ name_table_pairs(table_local_store_data, 5)
j'ai pas mal d'erreurs au niveau de mon enum dans le .h, savez-vous d’où ça vient ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 enum Table { #define name_table_pairs(a, b) table_##a, #undef name_table_pairs, #include "Fields.inc", #undef name_table_pairs };
Merci de vos conseils![]()
Partager