Я стараюсь не повторять свой код для 5 различных массивов. У меня есть 3 массивы (может быть больше в будущем):Рецензия на const char * array
const char *FirstlistOfOptionText[2] = {OPT_1,
OPT_2};
const char *SecondlistOfOptionText[2] = {OPT_1,
OPT_2};
const char *ThirdlistOfOptionText[2] = {OPT_1,
OPT_2};
элементов в каждой из них не будет такой же. Теперь это потому, что я только что скопировал &. Количество элементов не будет равно.
У меня есть функция, в которой я хочу напечатать каждый элемент списка в зависимости от значения, которое я даю в качестве параметра. Кроме того, мне нужно напечатать один из этих элементов в другом цвете (все в белом, за исключением одного зеленого).
Я просто хочу иметь один код для печати и выбора цвета, как у меня прямо сейчас. Но я хочу выбрать правильный массив, прежде чем делать это. Я думал о том:
const char *listOfOptions[];
if(menu_t.first_level_option == 0) {
listOfOptions = FirstlistOfOptionText;
}
if(menu_t.first_level_option == 1) {
listOfOptions = SecondlistOfOptionText;
}
if(menu_t.first_level_option == 2) {
listOfOptions = ThirdlistOfOptionText;
}
Но я получаю некоторые ошибки о размере хранения «listOfOptions» не известно. Или что я не могу использовать const char ** для символа char * или подобной вещи.
Каков правильный способ сделать это?
«... код для 5 различных массивов. У меня есть 3 массива ...» 5? 3? это немного запутывает – user463035818
Просьба указать [mcve] и точное сообщение об ошибке. «некоторые ошибки» и «или что-то вроде этого» слишком неспецифичны, чтобы угадать, что происходит не так. – user463035818
Используете ли вы C или C++? –