Я определил это enum
в своем классе:
enum MenuNavigation : int {
FileMenu,
AutoAssign,
EditMenu,
ViewMenu,
OptionsMenu,
HelpMenu
};
Когда я скомпилировал его, я получил ошибку компиляции:
5>D:\My Programs\2019\MeetSchedAssist\Meeting Schedule Assistant\CreateReportDlg.h(360,7):
error C2365: 'CCreateReportDlg::AutoAssign': redefinition; previous definition was 'enumerator'
5>D:\My Programs\2019\MeetSchedAssist\Meeting Schedule Assistant\CreateReportDlg.h(190):
message : see declaration of 'CCreateReportDlg::AutoAssign'
On line 360 У меня есть объявление функции:
BOOL AutoAssign(UINT uNumToFill,
UINT uStartIndex,
CStringArray &rAryStrAllBrothers, ROW_DATA_S &rsRowData, int iGridColumn);
Если я переименую свой элемент перечисления в AutoAssignments
или kAutoAssign
, он скомпилируется.
Я не понимаю, почему значение enum
, которое Я понял, что область действия не может иметь то же имя, что и функция, определенная в родительском классе?