Посимвольный вывод массива Char и ошибка С2440
Есть задача, написать две функции посимвольного выведения элементов массива char с учетом что функция в качестве аргумента принимает масив и значение размера масива. Текст должен выводиться прописью и в нижнем регистре.
#include <cstdio>
#include <iostream>
namespace function
{
void greatout(char par[100]) {
for (int i = 0; i < sizeof(par); i++) {
putchar(toupper(par[i]));
};
std::cout << std::endl;
};
void lowout(char par[100]) {
for (int i = 0; i < sizeof(par); i++) {
putchar(tolower(par[i]));
};
std::cout << std::endl;
};
};
Выдает ошибку:
C2440 невозможно преобразовать const char[1] в сhar[].
Ответы (1 шт):
Автор решения: Mikhailo
→ Ссылка
Я бы не ограничивал функции только массивоом конкретного размера, и не путал С и С++.
Попробуйте такой код:
void greatout(const char* par) {
for (; *par; par++) putchar(toupper(*par));
putchar('\n');
};
void lowout(const char* par) {
for (; *par; par++) putchar(tolower(*par));
putchar('\n');
};
Может, и ваша ошибка уйдет.