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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
Chempion
0 / 0 / 0
Регистрация: 07.03.2012
Сообщений: 27
23.03.2012, 09:29     Как исправить ошибку error C2039 "не является членом класса"? #1
Выдает вот такие ошибки
\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;
};
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
retmas
Жарю без масла
803 / 685 / 143
Регистрация: 13.01.2012
Сообщений: 1,580
23.03.2012, 09:46     Как исправить ошибку error C2039 "не является членом класса"? #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;
Black Fregat
 Аватар для Black Fregat
1353 / 983 / 215
Регистрация: 31.05.2009
Сообщений: 4,093
23.03.2012, 10:00     Как исправить ошибку error C2039 "не является членом класса"? #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 минуту
Опоздал..
Chempion
0 / 0 / 0
Регистрация: 07.03.2012
Сообщений: 27
23.03.2012, 10:33  [ТС]     Как исправить ошибку error C2039 "не является членом класса"? #4
Сделал, появилась вот такая ошибка:
1>.\Employee.cpp(21) : error C2660: Employee::SetYearsofService: функция не принимает 0 аргументов
1>.\Employee.cpp(23) : error C2660: Employee::SetSalary: функция не принимает 0 аргументов
retmas
Жарю без масла
803 / 685 / 143
Регистрация: 13.01.2012
Сообщений: 1,580
23.03.2012, 10:39     Как исправить ошибку error C2039 "не является членом класса"? #5
ищите в программе гда вы вызываете эти ф-ии без параметра
Chempion
0 / 0 / 0
Регистрация: 07.03.2012
Сообщений: 27
23.03.2012, 11:36  [ТС]     Как исправить ошибку error C2039 "не является членом класса"? #6
И что с ними делать?) если в коде поищешь который выше, буду очень благодарен)
Black Fregat
 Аватар для Black Fregat
1353 / 983 / 215
Регистрация: 31.05.2009
Сообщений: 4,093
26.03.2012, 05:29     Как исправить ошибку error C2039 "не является членом класса"? #7
У Вас ведь на каждый параметр 2 разных функции доступа - для чтения и для записи.
Вы нигде не попутали Get...() и Set...(значение) ?
Чтение - без параметров, есть возвращаемое значение.
Запись - один параметр (новое значение), void.
Chempion
0 / 0 / 0
Регистрация: 07.03.2012
Сообщений: 27
27.03.2012, 09:56  [ТС]     Как исправить ошибку error C2039 "не является членом класса"? #8
Спасибо всем, нашел все ошибки и исправил) всё работает)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.01.2016, 12:56     Как исправить ошибку error C2039 "не является членом класса"?
Еще ссылки по теме:

C++ Error C2039 не является членом Znak
Error C2039: fprintf: не является членом "`global namespace'" C++
C++ Ошибка: метод не является членом класса

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

Или воспользуйтесь поиском по форуму:
Олег Давыдов
0 / 0 / 0
Регистрация: 02.01.2016
Сообщений: 28
02.01.2016, 12:56     Как исправить ошибку error C2039 "не является членом класса"? #9
Black Fregat, помоги, пожалуйста, вот тут Разработать программу, отображающую информацию про кафедры ВУЗа (файловый ввод/вывод). Очень прошу
Yandex
Объявления
02.01.2016, 12:56     Как исправить ошибку error C2039 "не является членом класса"?
Ответ Создать тему
Опции темы

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