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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
Chempion
0 / 0 / 0
Регистрация: 07.03.2012
Сообщений: 27
#1

Как исправить ошибку error C2039 "не является членом класса"? - C++

23.03.2012, 09:29. Просмотров 1822. Ответов 8
Метки нет (Все метки)

Выдает вот такие ошибки
\Employee.cpp(20) : error C2039: YearsofService: не является членом "Employee"
1> c:\users\кварц3\desktop\student\решенные задачи по с++\employee\employee\Employee.hpp(3): см. объявление 'Employee'
1>.\Employee.cpp(21) : error C2039: YearsofService: не является членом "Employee"
1> c:\users\кварц3\desktop\student\решенные задачи по с++\employee\employee\Employee.hpp(3): см. объявление 'Employee'
1>.\Employee.cpp(22) : error C2039: Salary: не является членом "Employee"
1> c:\users\кварц3\desktop\student\решенные задачи по с++\employee\employee\Employee.hpp(3): см. объявление 'Employee'
1>.\Employee.cpp(23) : error C2039: Salary: не является членом "Employee"
1> c:\users\кварц3\desktop\student\решенные задачи по с++\employee\employee\Employee.hpp(3): см. объявление 'Employee'
, никак не пойму что сделать, есть предложения?
код программы:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "stdafx.h"
#include "Employee.hpp"
#include <iostream>
using namespace System;
Employee::Employee(int initialAge)
{
    itsAge = initialAge;
}
 
Employee::~Employee()
{
}
 
int main()
{
    Employee Jon(26);
    std::cout<<"Jon is a man who is "<< Jon.GetAge()<<"years old.\n"<<std::endl;
    Jon.YearsofService(5);
    std::cout<<"Jon Years of Service = "<<Jon.YearsofService()<<"\n"<<std::endl;
    Jon.Salary(30000);
    std::cout<<"Jon salary = "<<Jon.Salary()<<"\n"<<std::endl;
    return 0;
}
Код класса:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
class Employee
{
public:
    Employee (int initialAge);
    ~Employee();
    int GetAge() const {return itsAge;}
    void SetAge (int Age) {itsAge=Age;}
    int GetYearsofService() const {return itsYearsofService;}
    void SetYearsofService(int YearsofService) {itsYearsofService=YearsofService;}
    int GetSalary() const {return itsSalary;}
    void SetSalary(int Salary) {itsSalary=Salary;}
private:
    int itsAge;
    int itsYearsofService;
    int itsSalary;
};
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.03.2012, 09:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как исправить ошибку error C2039 "не является членом класса"? (C++):

Error C2039: fprintf: не является членом "`global namespace'" - C++
просто не понимаю откуда берется такая ошибка? вроде все правильно пишу... Заголовки функций #pragma once #include &lt;string&gt; ...

Error C2039: print не является членом "car" - C++
Добрый день, столкнулся с проблемой &quot; error C2039: print: не является членом &quot;car&quot; &quot; при создания класса. Почему оно не хочет выводить ? ...

Error C2039: list: не является членом "std" - C++
итак: делаю MFC проект. Собственные функции пишу в отдельном MyLibrary.cpp к которому еще прилагается MyLibrary.h. функция написана,...

Error C2039: Insert: не является членом "std::set<_Kty>" - C++
Ругается компилятор: 1&gt;c:\visual studio 2008\projects\lab1\fibo\fibo\fibo.cpp(19) : error C2039: Insert: не является членом...

Error C2039: + не является членом "CLongArithmetic" - C++
Можете обьяснить что не так? Не могу понять( error C2511: const CLongArithmetic CLongArithmetic::operator -(CLongArithmetic,const...

Error C2039 не является членом Znak - C++
#include &lt;iostream&gt; #include &lt;string&gt; struct ZNAK { public: char *name, *surname; // Имя и фамилия соответственно char...

8
retmas
Жарю без масла
863 / 745 / 168
Регистрация: 13.01.2012
Сообщений: 1,702
23.03.2012, 09:46 #2
C++
1
2
3
4
Jon.SetYearsofService(5);
std::cout<<"Jon Years of Service = "<<Jon.GetYearsofService()<<"\n"<<std::endl;
Jon.SetSalary(30000);
std::cout<<"Jon salary = "<<Jon.GetSalary()<<"\n"<<std::endl;
1
Black Fregat
1392 / 1023 / 228
Регистрация: 31.05.2009
Сообщений: 4,274
23.03.2012, 10:00 #3
C++
1
2
3
4
Jon.SetYearsofService(5);
std::cout<<"Jon Years of Service = "<<Jon.GetYearsofService()<<"\n"<<std::endl;
Jon.SetSalary(30000);
std::cout<<"Jon salary = "<<Jon.GetSalary()<<"\n"<<std::endl;
Добавлено через 1 минуту
Опоздал..
1
Chempion
0 / 0 / 0
Регистрация: 07.03.2012
Сообщений: 27
23.03.2012, 10:33  [ТС] #4
Сделал, появилась вот такая ошибка:
1>.\Employee.cpp(21) : error C2660: Employee::SetYearsofService: функция не принимает 0 аргументов
1>.\Employee.cpp(23) : error C2660: Employee::SetSalary: функция не принимает 0 аргументов
0
retmas
Жарю без масла
863 / 745 / 168
Регистрация: 13.01.2012
Сообщений: 1,702
23.03.2012, 10:39 #5
ищите в программе гда вы вызываете эти ф-ии без параметра
1
Chempion
0 / 0 / 0
Регистрация: 07.03.2012
Сообщений: 27
23.03.2012, 11:36  [ТС] #6
И что с ними делать?) если в коде поищешь который выше, буду очень благодарен)
0
Black Fregat
1392 / 1023 / 228
Регистрация: 31.05.2009
Сообщений: 4,274
26.03.2012, 05:29 #7
У Вас ведь на каждый параметр 2 разных функции доступа - для чтения и для записи.
Вы нигде не попутали Get...() и Set...(значение) ?
Чтение - без параметров, есть возвращаемое значение.
Запись - один параметр (новое значение), void.
1
Chempion
0 / 0 / 0
Регистрация: 07.03.2012
Сообщений: 27
27.03.2012, 09:56  [ТС] #8
Спасибо всем, нашел все ошибки и исправил) всё работает)
0
Олег Давыдов
0 / 0 / 0
Регистрация: 02.01.2016
Сообщений: 28
02.01.2016, 12:56 #9
Black Fregat, помоги, пожалуйста, вот тут Разработать программу, отображающую информацию про кафедры ВУЗа (файловый ввод/вывод). Очень прошу
0
02.01.2016, 12:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.01.2016, 12:56
Привет! Вот еще темы с ответами:

Найти причины и способы исправления ошибки "Функция не является членом класса" - C++
Хай. Вижла сошла сума, то ли я уже переработал. #pragma once #ifndef CMATRIXH # define CMATRIXH class CMatrix { double...

Исправить ошибку:error C2678: бинарный ">>": не найден оператор, принимающий левый операнд типа "std::istream" - C++
Скажите пожалуйста, как исправить error C2678: бинарный &quot;&gt;&gt;&quot;: не найден оператор, принимающий левый операнд типа &quot;std::istream&quot; (или...

Как исправить ошибку "error C2065: cin: необъявленный идентификатор" ? - C++
Получил задание: &quot;Дана матрица чисел: а. Вычислить сумму элементов, которые образуют символ по варианту.&quot;. Написал программу, но ни VS,...

Как исправить ошибку "error LNK1120: 1 неразрешенных внешних элементов"? - C++
Первый раз с таким столкнулась. Я чайник полнейший #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; ...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

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