Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
9 / 9 / 0
Регистрация: 15.07.2010
Сообщений: 255

error: LNK2019

26.05.2011, 19:02. Показов 1318. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
shape.h
 
#pragma once
#include "stdafx.h"
 
class Shape
{
...
};
 
std::istream& operator>>(std::istream&,Shape&);
std::ostream& operator<<(std::ostream&,const Shape&);
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
shape.cpp
 
#include "Shape.h"
#include "stdafx.h"
 
const double Shape::PI = 3.1415927;
 
std::istream& operator>>(std::istream& in, Shape* rhs)
{
...
}
 
std::ostream& operator<<(std::ostream& out, /*const*/ Shape& rhs)
{
    rhs.print(out);
    return out;
}
Текст из ошибки в компиляторе: "...referenced in function _wmain".
Ошибка LNK2019 http://msdn.microsoft.com/en-u... 80%29.aspx
"...To resolve this error, provide a definition for symbol or remove the code that references it..."
Прошу помочь разобраться. Объявления присутствуют в заголовке shape.h (см. код выше), определение в shape.cpp(см. код выше). Где собака зарыта?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.05.2011, 19:02
Ответы с готовыми решениями:

Error LNK1120, error LNK2019, error LNK2028, queue
// свойство класса Parser queue&lt;elem*&gt;* postfix = new queue&lt;elem*&gt;; // строка, из-за которой происходит ошибка ...

Error LNK2019 и fatal error LNK1120
Копаюсь в гугле уже часа 2. Не понимаю, в чем проблема. Вроде нигде ошибок в коде нету, но выдает: 1&gt;------ Построение начато:...

Error LNK1120, Error LNK2019
Здравствуйте . У меня проблема с кодом . #include &quot;stdafx.h&quot; #include &lt;conio.h&gt; #include &lt;iostream&gt; #include...

5
101 / 101 / 27
Регистрация: 10.09.2010
Сообщений: 267
26.05.2011, 19:06
Попробуй в shape.cpp оставить только
C++
1
#include "Shape.h"
без pragmа.
0
9 / 9 / 0
Регистрация: 15.07.2010
Сообщений: 255
26.05.2011, 19:11  [ТС]
Цитата Сообщение от Overmind024 Посмотреть сообщение
Попробуй в shape.cpp оставить только
C++
1
#include "Shape.h"
без pragmа.
Не помогло.
0
 Аватар для HighPredator
6045 / 2160 / 753
Регистрация: 10.12.2010
Сообщений: 6,005
Записей в блоге: 3
26.05.2011, 19:29
Полный текст ошибки приведите.
0
Эксперт С++
623 / 467 / 57
Регистрация: 28.01.2011
Сообщений: 605
26.05.2011, 19:32
C++
1
2
std::istream& operator>>(std::istream&,Shape&);
std::ostream& operator<<(std::ostream&,const Shape&);
в объявлении у вас в операторе >> второй параметр -- ссылка.
В определении же у вас указатель, а это разные совсем вещи
C++
1
std::istream& operator>>(std::istream& in, Shape* rhs)
Прототипы не совпадают, получается , что тела для того оператора , что в Shape.h был описан, так и нет, вот и ошибка.
0
9 / 9 / 0
Регистрация: 15.07.2010
Сообщений: 255
26.05.2011, 20:00  [ТС]
1>4-12.obj : error LNK2019: unresolved external symbol "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,class Shape const &)" (??6@YAAAV?$basic_ostream@DU?$char_trait s@D@std@@@std@@AAV01@ABVShape@@@Z) referenced in function _wmain
1>4-12.obj : error LNK2019: unresolved external symbol "class std::basic_istream<char,struct std::char_traits<char> > & __cdecl operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,class Shape &)" (??5@YAAAV?$basic_istream@DU?$char_trait s@D@std@@@std@@AAV01@AAVShape@@@Z) referenced in function _wmain
1>C:\Users\Администратор\Documents\Visua l Studio 2010\Projects\Weiss\Ch4\4-12\Debug\4-12.exe : fatal error LNK1120: 2 unresolved externals

И ещё один момент, компилятор этого не сообщает, но в shape.cpp при использовании
C++
1
rhs = new Circle(...) //shape - базовый класс, rhs - указатель на базовый
есть всплывающее сообщение после наведения на new:
a value of type *Circle cannot be assigned to an entity of type *Shape

Добавлено через 25 минут
Разобрался. Но хочу уточнить некоторые моменты.
У меня определена структура
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
struct PtrToShape
{
public:
    Shape* ptr;
 
    bool operator<(const PtrToShape& rhs) const
    { return *ptr < *rhs.ptr; }
 
    bool operator>(const PtrToShape& rhs) const
    { return *ptr > *rhs.ptr; }
 
    const Shape& operator*() const
    { return *ptr; }
 
    /*Shape& operator*() //непринципиально
    { return *ptr; }*/   //
};
правильно ли понимаю:
main():
C++
1
std::cin >> array[i].ptr; //справа передаётся адрес (содержимое указателя)
для этот мне нужен следующий протоип:
C++
1
std::istream& operator>>(std::istream&,Shape*);
C++
1
2
std::cout << *array[i]; //передаётся ссылка(уверен, что не точный термин) на объект shape по адресу,
                           //на который указывает указатель
для этот мне нужен следующий протоип:
C++
1
std::ostream& operator<<(std::ostream&,const Shape&);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.05.2011, 20:00
Помогаю со студенческими работами здесь

error LNK2019
Здравствуйте, есть такое задание: 1. Создать классовые типы - численная квадратная матрица и одномерный массив динамического типа с...

Error LNK2019
Написал программу, а она выдаёт ошибку &quot;error LNK2019&quot; Вот код программы: #include &lt;iostream&gt; using namespace std; int n; int...

error LNK2019
Всем доброго вечера! Вынужден снова воспользоваться помощью опытных мира сего, т.к. перерыв гору материала в сети, ничего путного не...

Error LNK2019
Нашел на просторах сети код, постарался привести ее к рабочему виду и вот уже почти к завершению получил кучу таких еррор линков ...

Error LNK2019
Код программы : Source.cpp #include &lt;algorithm&gt; #include &lt;vector&gt; #include &lt;string&gt; #include &quot;read.h&quot; #include...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru