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

overloaded member function not found - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.93
zayaz
6 / 6 / 1
Регистрация: 13.03.2010
Сообщений: 34
18.03.2010, 11:15     overloaded member function not found #1
Что означает данное сообщение об ошибке -
'counter counter::operator +(counter &)' : overloaded member function not found in 'counter'
Можно ли исправить или такого варианта решения не существует?
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
28
29
30
31
32
33
34
35
36
#include<iostream>
using namespace std;
 
class counter
{
public:
    counter();
    counter(int initVal);
    ~counter(){}
    int getItsVal()const{return itsVal;}
    void setItsVal(int x){itsVal=x;}
    counter operator +(const counter &);
 
private:
    int itsVal;
};
 
counter::counter(int initVal):itsVal(initVal)
{}
 
counter::counter():itsVal(0)
{}
 
counter counter::operator +(counter& rhs)
{
    return counter(itsVal + rhs.getItsVal());
}
int main()
{
    counter varOne(2),varTwo(4),varThree;
    varThree=varOne+varTwo;
    cout<<"varone: "<<varOne.getItsVal()<<endl;
    cout<<"vartwo: "<<varTwo.getItsVal()<<endl;
    cout<<"varthree: "<<varThree.getItsVal()<<endl;
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Black Fregat
 Аватар для Black Fregat
1353 / 983 / 215
Регистрация: 31.05.2009
Сообщений: 4,093
18.03.2010, 11:37     overloaded member function not found #2
У Вас оператор "+" в одном месте принимает константный аргумент, в другом - нет.
oxotnik
 Аватар для oxotnik
1584 / 1061 / 33
Регистрация: 21.08.2008
Сообщений: 4,545
Записей в блоге: 1
18.03.2010, 11:40     overloaded member function not found #3
Код
counter counter::operator +([B]const[/B] counter& rhs)
{
        return counter(itsVal + rhs.getItsVal());
}
zayaz
6 / 6 / 1
Регистрация: 13.03.2010
Сообщений: 34
18.03.2010, 15:11  [ТС]     overloaded member function not found #4
Точно, все получилось. Всем "Спасиба"
Yandex
Объявления
18.03.2010, 15:11     overloaded member function not found
Ответ Создать тему
Опции темы

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