Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка в классе 
:(
    Опции темы
Berkut
Дата 24.3.2004, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 16.3.2004

Репутация: нет
Всего: нет



Саздал класс: employee.h

#ifndef EMPLOYEE_H
#define EMPLOYEE_H
#include <string>
using namespace std;
namespace def_employee
{
class Employee
{
public:
Employee();
Employee(string a);
string get_a();
void change_a( string new_a );
};
}
#endif

Создал файл реализации класса:

#include "Employee.h"
#include <string.h>
#include<iostream>

Employee::get_a(string a)
{
cout<<a<<endl;
return 0;

}

компилятор выдает такую шибку: 'Employee' : is not a class or namespace name (указывает на строчку Employee::get_a(string a))


PM MAIL   Вверх
Stalk
Дата 24.3.2004, 22:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 24.1.2004
Где: Украина, харьков

Репутация: нет
Всего: нет



Код
string Employee::get_a(string a)
Имя функции ты-то написал, а тип возвращаемого значения?
Код
string something();
и
Код
int something();
не одно и тоже.

Это сообщение отредактировал(а) Stalk - 24.3.2004, 23:00
PM MAIL ICQ   Вверх
Berkut
Дата 24.3.2004, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 16.3.2004

Репутация: нет
Всего: нет



Все равно там же ошибка hmmm.gif
PM MAIL   Вверх
Coocky
Дата 24.3.2004, 23:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

Репутация: 2
Всего: 62



Попробуй создай Inline функцию
Код
Employee::get_a(string a)
прямо в классе


--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
Berkut
Дата 24.3.2004, 23:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 16.3.2004

Репутация: нет
Всего: нет



С Inline функцией этой ошибки нет, но мне надо именно без Inline функции hmmm.gif
PM MAIL   Вверх
bel_nikita
Дата 25.3.2004, 00:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2304
Регистрация: 12.10.2003
Где: Поезд №21/22 ( ст . Прага )

Репутация: 21
Всего: 47



Berkut
Цитата
namespace def_employee
{
class Employee
{
public:
Employee();
Employee(string a);
string get_a();
void change_a( string new_a );
};
}

Цитата

#include "Employee.h"
#include <string.h>
#include<iostream>
Employee::get_a(string a)
{
cout<<a<<endl;
return 0;

}

А namespace где потерял??
Добавь using namespace def_employee;


--------------------
user posted image — регистрация доменов от 150 руб.
PM MAIL WWW ICQ   Вверх
???
Дата 25.3.2004, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 20.3.2004

Репутация: нет
Всего: нет



Чего-то я понять немогу. Определение функции такое:

string get_a();

А сама функция описывается как:

Employee::get_a(string a)
{
cout<<a<<endl;
return 0;
}

???
PM MAIL   Вверх
Berkut
Дата 25.3.2004, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 16.3.2004

Репутация: нет
Всего: нет



bel_nikita спасибо за помощь, но вот теперь еще одна ошибка, правда теперь не понятно где:

#ifndef EMPLOYEE_H
#define EMPLOYEE_H
#include <string>
using namespace std;
namespace def_employee
{
class Employee
{
public:
Employee();
Employee(string a);
string get_a();
void change_a( string new_a );
};
}
#endif

Создал файл реализации класса:

#include "Employee.h"
#include <string.h>
#include<iostream>
using namespace def_employee;

Employee::get_a(string a)
{
cout<<a<<endl;
return 0;

}

Ну с сам main()

#include<iostream>
#include "Employee.h"
#include "HourlyEmployee.h"
using namespace def_employee;
main()
{
Employee a;
string a="dsgfsg";
a.get_a(a);
return 0;
}

Так вот компилятор выдает такую штуку:
error LNK2001: unresolved external symbol "public: __thiscall def_employee::Employee::Employee(void)" (??0Employee@def_employee@@QAE@XZ)
fatal error LNK1120: 1 unresolved externals mad.gif



PM MAIL   Вверх
sergejzr
Дата 25.3.2004, 18:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 19
Всего: 360



Добавь Employee.cpp в свой проект.



--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Berkut
Дата 25.3.2004, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 16.3.2004

Репутация: нет
Всего: нет



Непомогает, таже ошибка sad.gif
PM MAIL   Вверх
sergejzr
Дата 25.3.2004, 18:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 19
Всего: 360



Всё ясно!
В теле класса ты задекларировал
Код

string get_a();


А в .сpp
Код

Employee::get_a(string a)

А следует:
Код

string Employee::get_a(string a){}
//или
string Employee::get_a(){}


Определяйся, что функция получает, а что отдаёт smile.gif





--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Berkut
Дата 25.3.2004, 19:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 16.3.2004

Репутация: нет
Всего: нет



sergej.z ,непомогает, таже ошибка, для простототы я пока даже string опустил.

PM MAIL   Вверх
???
Дата 25.3.2004, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 20.3.2004

Репутация: нет
Всего: нет



Цитата(sergej @ 25.3.2004, 18:58)
Всё ясно!
В теле класса ты задекларировал
Код

string get_a();


А в .сpp
Код

Employee::get_a(string a)

А следует:
Код

string Employee::get_a(string a){}
//или
string Employee::get_a(){}


Определяйся, что функция получает, а что отдаёт smile.gif

Ага, только я это уже до тебя сказал.
PM MAIL   Вверх
Berkut
Дата 25.3.2004, 19:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 16.3.2004

Репутация: нет
Всего: нет



Пусть будет без string:
get_a();
Ошибка осталась то hmmm.gif

PM MAIL   Вверх
Fantasist
Дата 25.3.2004, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй
***


Профиль
Группа: Участник Клуба
Сообщений: 1517
Регистрация: 24.3.2002

Репутация: 4
Всего: 41



Цитата
error LNK2001: unresolved external symbol "public: __thiscall def_employee::Employee::Employee(void)" (??0Employee@def_employee@@QAE@XZ)


У конструктора нету тела.



--------------------
Волны гасят ветер...
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1071 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.