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

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

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

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

23.03.2012, 09:29. Просмотров 1387. Ответов 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;
};
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.03.2012, 09:29     Как исправить ошибку error C2039 "не является членом класса"?
Посмотрите здесь:

Error C2039: list: не является членом "std" C++
C++ Исправить ошибку:error C2678: бинарный ">>": не найден оператор, принимающий левый операнд типа "std::istream"
Как исправить ошибку "error LNK1120: 1 неразрешенных внешних элементов"? C++
C++ Error C2039 не является членом Znak
Error C2039: fprintf: не является членом "`global namespace'" C++
Исправить ошибку error C2562: функция типа "void", возвращающая значение C++
Как исправить ошибку "error C2065: cin: необъявленный идентификатор" ? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
retmas
Жарю без масла
842 / 724 / 158
Регистрация: 13.01.2012
Сообщений: 1,671
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
1354 / 984 / 215
Регистрация: 31.05.2009
Сообщений: 4,111
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
Жарю без масла
842 / 724 / 158
Регистрация: 13.01.2012
Сообщений: 1,671
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
1354 / 984 / 215
Регистрация: 31.05.2009
Сообщений: 4,111
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 "не является членом класса"?
Еще ссылки по теме:

Исправить ошибку компиляции "error C4430: отсутствует спецификатор типа - предполагается int" C++
Найти причины и способы исправления ошибки "Функция не является членом класса" C++
Error C2039: + не является членом "CLongArithmetic" C++
C++ Компилятор выдаёт ошибку: error C2011: Confection::Date: переопределение типа "struct". Как исправить?
C++ Error C2039: Insert: не является членом "std::set<_Kty>"

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

Или воспользуйтесь поиском по форуму:
Олег Давыдов
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 "не является членом класса"?
Ответ Создать тему
Опции темы

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