Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Mines
0 / 0 / 0
Регистрация: 25.08.2012
Сообщений: 8
#1

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

27.08.2012, 12:10. Просмотров 359. Ответов 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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Andsteadur
153 / 137 / 3
Регистрация: 23.05.2009
Сообщений: 275
27.08.2012, 12:15     Ошибка при компиляции класса #2
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;
}
Gibboustooth
733 / 201 / 11
Регистрация: 23.06.2011
Сообщений: 440
27.08.2012, 12:18     Ошибка при компиляции класса #3
Если я что-то в чем-то понимаю, вы пытаетесь вызвать функцию my_str.mystring() без параметров.
Программа заходит в класс и ищет правило для подобного вызова, но находит только функцию mystring(string), т.е. фукнцию с одним параметром. С точки зрения C++ это 2 разные функции. Отсюда ошибка.
DaskOFF
112 / 112 / 9
Регистрация: 02.05.2012
Сообщений: 521
Записей в блоге: 1
27.08.2012, 12:22     Ошибка при компиляции класса #4
C++
1
#include <string>
не забудьте
Mines
0 / 0 / 0
Регистрация: 25.08.2012
Сообщений: 8
27.08.2012, 12:31  [ТС]     Ошибка при компиляции класса #5
Спасибо Andsteadur, но даже с исправлениями выдает ошибку причем новую
http://ideone.com/syTV5


DaskOFF, спасибо)
novi4ok
550 / 503 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
27.08.2012, 12:35     Ошибка при компиляции класса #6
конструктор где? ты его объявил, но не написал. линкер не может его найти.
Рыжий Лис
Просто Лис
217 / 172 / 46
Регистрация: 17.05.2012
Сообщений: 631
Записей в блоге: 4
27.08.2012, 14:20     Ошибка при компиляции класса #7
C++
1
2
3
4
5
6
7
class MyStr {
    public:
        MyStr(){} //конструктор
        void mystring(string);
    private:
        //string my_str; //не используется
};
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.08.2012, 01:08     Ошибка при компиляции класса
Еще ссылки по теме:

Ошибка при компиляции C++
Ошибка при компиляции C++
Ошибка компиляции абстрактного класса C++
C++ Подскажите пожалуйста в чем может быть трабл при компиляции класса выдает ошибку
Ошибка компиляции при реализации класса-шаблона C++

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

Или воспользуйтесь поиском по форуму:
Mines
0 / 0 / 0
Регистрация: 25.08.2012
Сообщений: 8
28.08.2012, 01:08  [ТС]     Ошибка при компиляции класса #8
Рыжий Лис, так суть в том, что бы я сам мог ввести какие то данные (в данном случае - имя) и мне оно высветилось в консоли. А при Вашей реализацией получается, что сообщение просто появляется на экране.

Добавлено через 54 секунды
А нет, прошу прощения, у меня с первого раза заглючило почему-то, все работает)) Спасибо!
Yandex
Объявления
28.08.2012, 01:08     Ошибка при компиляции класса
Ответ Создать тему
Опции темы

Текущее время: 09:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru