@Anvario0

Откуда взялся const?

Класс:
class MyClass
{
public:
	void printMessage(char str[]);
};

Реализация класса:
void MyClass::printMessage(char str[]) {
	cout << str << endl;
}

Код:
int main() {
	MyClass point;
	point.printMessage("Hello world");

	return 0;
}

Ошибка: Аргумент типа "const char *" несовместим с параметром типа "char *"

Откуда взялся const, ведь я не прописывал его при реализации?
  • Вопрос задан
  • 162 просмотра
Решения вопроса 2
mayton2019
@mayton2019
Bigdata Engineer
Попробуй так.

void printMessage(const char str[]);

Чем новее становится версия стандарта С++ - тем строже проверки.
Ответ написан
Комментировать
wataru
@wataru Куратор тега C++
Разработчик на С++, экс-олимпиадник.
const char* взялся вот отсюда: "Hello world". Это строковая константа в коде. Ее программа менять никак не может. Компилятор ее засовывает в read only секцию исполняемого файла.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы