Имя пользователя:
Пароль:
 

Название темы: Ошибка компиляции LNK2019
Показать сообщение отдельно

ИО Капитана Очевидности


Contributor


Сообщения: 5387
Благодарности: 1105

Профиль | Отправить PM | Цитировать


Цитата belk94:
Написал структуры данных, пытаюсь скомпилить - получаю error LNK2019. »
Это значит, что линковщик не может найти код функции в объектном файле. Причины могут быть разными
1. Функция-шаблон реализована в файле .cpp. Поскольку код такой функции создаётся для каждого из параметров по мере использования, её код должен быть помещён в .h
2. Код функции в библиотеке не был скомпилирован по причине неиспользования в самой библиотеке. (лечится добавлением особой команды, которую я уже не помню)
3. Не совпадают параметры вызова функции, указанные по-умолчанию в свойствах проекта программы и подключаемой библиотеки. Во избежание этого всегда надо указывать __fastcall или аналогичную команду.



В*данном проекте вижу следующие нестыковки
1. Отсутствуют параметры вызова у функций
2. Параметры функции main не соответствуют стандартным
3. Методы operator= должны возвращать ссылку на сам объект
Код: Выделить весь код
WORD& operator = (int a)
{
                byte1=a>>8;
                byte2=(a<<8)>>8;
                return *this; // вот так
}

-------
Самое совершенное оружие, которым забиты арсеналы богатых и процветающих наций, может легко уничтожить необразованного, больного, бедного и голодного. Но оно не может уничтожить невежество, болезнь, нищету и голод. (Фидель Кастро)

Почему всех осужденных за измену Родине при Сталине реабилитировали при Горбачёве по отсутствию состава преступления? Потому что при Горбачёве измену Родине перестали считать преступлением.


Отправлено: 07:18, 20-09-2010 | #6

Название темы: Ошибка компиляции LNK2019