Я получаю жалобу от complier при попытке преобразовать массив enum в указатель int.лить массив enum для указателя int
void format(const int *values);
// convert and call format
format(static_cast<const int*>(EnumArray));
// error from compiler
error: invalid static_cast from type 'const EnumArray[15]' to type 'const int*'
Любой способ обойти его? Благодаря!
Я думаю, вы должны обеспечить преобразование из 'EnumArray' в' int * '. Как еще должен компилятор знать, что делать? – user463035818
Вы не можете преобразовать 'enum array' в' const int * '. Прежде всего, их типы различны, и даже их размер не гарантируется одинаковым. –
'reinterpret_cast', если вам повезет. Используйте совместимые типы, если вы хотите исправить их правильно. –