Я пытаюсь передать массив указателей символов в качестве входных данных из драйвера теста C в функцию C ++ (доступно в оболочке C)
char* LowerList[10];
LowerList[0]="abc";
LowerList[1]="def";
LowerList[2]="hij";
Когда доступно на стороне C ++, значения, отображаемые для элементаотображается как
char* LowerList[0]="abc";
LowerList[1]="def";
LowerList[2]="hij";
LowerList[3]=ƒì¶S<\$ UV<35?Ä@
LowerList[34]=ƒ<bad pointer>
Мне нужно получить размер массива, переданного в размер C ++, который я мог бы использовать с помощью while (LowerList [count]), но не смог сделать это из-за значения барахла,Пожалуйста, дайте мне знать, если я смогу найти правильный размер char * LowerList [] путем инициализации, выделения памяти или преобразования его в вектор.
Исправлен код выше для ошибки опечатки
Вот мои комментарии к некоторым предложениям, которые были мне даны:
1) Передайте размер массива в качестве параметра - ограничение для моего сценария. 2) Для преобразования в вектор нужен размербыть доступным 3) Значение Sentinel, в какой позиции мне нужно добавить.Как указывалось ранее, я пытаюсь обработать сценарий, в котором пользователь передает значение как 3, что приводит к сбою. У меня нет никакого контроля над тем, как ограничить использование C моей оболочкой C ++ с помощью его драйвера C-теста.