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.cppCode:
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:
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 enumCode:
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:
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 :)