Как вызвать функцию с strcmp
Задача перегрузить функцию, которая будет сортировать строки двумерного массива символов в алфавитном порядке. Пробую запустить код с strcmp в функции void Sort, не запускается - "Sort: ни одна из 2 перегрузок не может преобразовать все типы аргументов", "отсутствуют экземпляры перегруженная функция "Sort", соответствующие списку аргументов". Подсвечено Sort в месте вызова функции. Аргументом функции void Sort указано char** mas, т.к. без этого были подсвечены mas[3], mas[4].
void Sort(char** mas, int n, int m)
{
int k = strcmp(mas[3], mas[4]);
}
int main()
{
setlocale(LC_ALL, "rus");
int const n = 4, m = 6;
char mas2[n][m];
cout << "Массив символов: " << endl;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
mas2[i][j] = rand() % 256 + 33;
cout << mas2[i][j] << " ";
}
cout << endl;
}
cout << Sort(*mas2, n, m);
}```
Ответы (1 шт):
Автор решения: mazik7512
→ Ссылка
Вам нужно выделять память под массив динамически
int const n = 4, m = 6;
char** mas2 = new char*[m];
for (int i = 0; i < m; i++)
{
mas2[i] = new char[n];
}
В конце не забудьте очистить память после выделения памяти:
for (int i = 0; i < m; i++)
{
delete[] mas2[i];
}
delete[] mas2;