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

Поиск:

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


Новичок



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

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



Код


#include <iostream>

class Strings 
{
      public: 
              
              Strings(); 
              Strings (const char*); 
              String (const String&); 
              ~Strings();
                     
                      Strings& operator= ( const Strings&);
                      Strings& operator= ( const char*);              
                      
                      Strings& operator== ( const Strings&);
                      Strings& operator== ( const char*); 
                       
                      char& operator [] (int);
                      
                      int size () {return _size;}
                      char* c_str () {return _strings;}
      private:
              int _size;
              char *_strings;
};




int main ()

{
   
    Strings str;
   
}


Выдает ошибку 
  [Linker error] undefined reference to `Strings::Strings()' 
  [Linker error] undefined reference to `Strings::~Strings()' 
В чем может быть проблема код вроде  правильный.
PM MAIL   Вверх
baldina
Дата 28.2.2010, 02:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

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



а где определение (код) класса Strings? При создании переменной str вызывается конструктор, при выходе из области видимости - деструктор, но они не определены.

Добавлено через 3 минуты и 35 секунд
Цитата

код вроде  правильный

угу. но не полный - надо определить конструктор, деструктор, операторы. всё, что объявлено.
кстати - Strings& operator= ( const char*); и Strings& operator== ( const char*); имхо излишни, без них будет работать (посредством неявного преобразования char* в String)

Добавлено через 4 минуты и 9 секунд
Код

Strings& operator== ( const Strings&);

странный оператор. вероятно, он должен возвращать bool
PM MAIL   Вверх
DarkASU
Дата 28.2.2010, 10:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Код

Strings& operator== ( const Strings&);

Да. Это операция сравнения двух строк чтобы можно было делать
Str1 == Str2
PM MAIL   Вверх
baldina
Дата 28.2.2010, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

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



что - "да"? результат сравнения a == b обычно имеет булев тип (true/false), а не тип аргументов.
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.1031 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


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

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