Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 25.08.2012
Сообщений: 8

Ошибка при компиляции класса

27.08.2012, 12:10. Показов 831. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день всем. Пытаюсь создать класс для вывода строки на экран типа: "Привет, <имя>, как ты?"
Но компилятор ругается на 25 строке и пишет ошибку: no matching function for call to ‘MyStr::mystring()’
Не могу понять, в чем же дело.
Вот ссылка на ideone: http://ideone.com/syTV5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include<iostream>
 
 
using namespace std;
 
class MyStr {
    public:
        MyStr();
        void mystring(string);
    private:
        string my_str;
};
 
 
void MyStr::mystring(string my_str){
    getline(cin,my_str); //print name
    cout<<"Hello,"<<' '<<my_str<<' '<<"!"<<' '<<"How are you?";
}
 
 
int main() {
 
MyStr my_str;
cout<<"And now you will see, what you do!"<<endl<<endl;
my_str.mystring();
return 0;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.08.2012, 12:10
Ответы с готовыми решениями:

Ошибка wreorder при компиляции класса
В общем замучался каждый раз чего-нибудь упрощать. Вот допустим есть класс ab, если попытаться запустить такой код, то выдаст кучку ошибок:...

Ошибка компиляции при реализации класса-шаблона
Не могу понять почему компилятор ругается. Помогите разобраться. #include &lt;iostream&gt; using namespace std; template...

Ошибка при компиляции. Как правильно создавать класс с объектами от другого класса?
Есть класс Car. У него есть двигатель(class Engine) и переменная скорость(speed), которая зависит от мощности(power). power- переменная...

7
154 / 138 / 34
Регистрация: 23.05.2009
Сообщений: 275
27.08.2012, 12:15
C++
1
void mystring(string);
Прототип метода, описанный в классе, требует наличия параметра типа стринг при вызове метода. В строке 25 нужно передать строку в качестве параметра.

например:
C++
1
2
3
4
5
6
7
int main() {
 
MyStr my_str;
cout<<"And now you will see, what you do!"<<endl<<endl;
my_str.mystring("This is my string");
return 0;
}
0
735 / 203 / 11
Регистрация: 23.06.2011
Сообщений: 440
27.08.2012, 12:18
Если я что-то в чем-то понимаю, вы пытаетесь вызвать функцию my_str.mystring() без параметров.
Программа заходит в класс и ищет правило для подобного вызова, но находит только функцию mystring(string), т.е. фукнцию с одним параметром. С точки зрения C++ это 2 разные функции. Отсюда ошибка.
0
 Аватар для DaskOFF
113 / 113 / 42
Регистрация: 02.05.2012
Сообщений: 524
Записей в блоге: 1
27.08.2012, 12:22
C++
1
#include <string>
не забудьте
0
0 / 0 / 0
Регистрация: 25.08.2012
Сообщений: 8
27.08.2012, 12:31  [ТС]
Спасибо Andsteadur, но даже с исправлениями выдает ошибку причем новую
http://ideone.com/syTV5


DaskOFF, спасибо)
0
556 / 510 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
27.08.2012, 12:35
конструктор где? ты его объявил, но не написал. линкер не может его найти.
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
27.08.2012, 14:20
C++
1
2
3
4
5
6
7
class MyStr {
    public:
        MyStr(){} //конструктор
        void mystring(string);
    private:
        //string my_str; //не используется
};
0
0 / 0 / 0
Регистрация: 25.08.2012
Сообщений: 8
28.08.2012, 01:08  [ТС]
Рыжий Лис, так суть в том, что бы я сам мог ввести какие то данные (в данном случае - имя) и мне оно высветилось в консоли. А при Вашей реализацией получается, что сообщение просто появляется на экране.

Добавлено через 54 секунды
А нет, прошу прощения, у меня с первого раза заглючило почему-то, все работает)) Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.08.2012, 01:08
Помогаю со студенческими работами здесь

Ошибка компиляции (преобразование объекта класса в объект другого класса)
Друзья, добрый день! Не могу понять почему выдается ошибка компиляции... Прога преобразует доллары США в старые Британские фунты. Но...

Ошибка компиляции абстрактного класса
public: Tour(); Tour(const char *, int, float); Tour(const Tour &amp;); Tour &amp; operator = (const Tour &amp;) = delete ; ~Tour(); ...

Ошибка компиляции после объявления класса
Что не так в этом коде? Писал программку, не хочет запускаться. Упростил до минимума,все равно не работает! #include &lt;iostream&gt;; ...

Шаблон класса строк - ошибка компиляции
Добрый вечер. Пытаюсь выполнить упражнение с учебника. Gcc выдаёт следующее: /home/ilyuha21st/Projects/qtcreator/cpp_some1/main.cpp:148:...

Присвоение указателю члену класса нового адреса, ошибка компиляции
Идея в том, чтобы хранить в отдельном списке объекты типа B и передавать в объект типа A указатель на объект B из списка. Допустим есть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru