Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.96/47: Рейтинг темы: голосов - 47, средняя оценка - 4.96
0 / 0 / 1
Регистрация: 23.03.2016
Сообщений: 76
1

Ссылка на неразрешенный внешний символ. в функции main

23.08.2017, 22:29. Показов 9051. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Я знаю, было уже несколько тем и на этом форуме, и на других, и на сайте MS есть информация по этой ошибке, но я все равно не могу понять, что у меня не так. Я так понял, ошибка такая может возникнуть при каком-то неправильном объявлении функции или при неправильном подключении библиотек.
Вот текст моей ошибки:
Ошибка LNK2019 ссылка на неразрешенный внешний символ "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,class ListBidirected const &)" (??6@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@std@@AEAV01@AEBVListBidirecte d@@@Z) в функции main

Вроде все подключено, реализовано...
main:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 #include "stdafx.h"
int main(){
    setlocale(0, "rus");
 
    
    std::cout << "Ладно, я начинаю" << std::endl;
    ListBidirected list1;
    list1.Add(0,YES);
    list1.Add(1);
    list1.Add(2);
    list1.Add(3);
    list1.Add(-4, no);
    list1.Add(-5, no);
 
    std::cout << list1; //что должно быть аналогично list1.Print_list();
    list1.Print_list(no);
    pListBidirected plist2(null);
    plist2 = &list1.Get_copy_list();
    //std::cout << (*plist2); //что должно быть аналогично plist2->Print_list();
    plist2->Print_list(no);
 
 
    system("pause");
    return 0;
}
Вот объявление в .h файле:
C++
1
friend  std::ostream & operator << (std::ostream & stream_out, const ListBidirected & printing_list);
Вот его реализация в .cpp:
C++
1
2
3
4
5
std::ostream & operator <<(std::ostream & stream_out, ListBidirected & printing_list)
{
    printing_list.Print_list();
    return stream_out;
}
Если что, вот еще и stdafx.h:
C++
1
2
3
4
5
6
7
8
9
10
#pragma once
 
#include "targetver.h"
 
#include <stdio.h>
#include <tchar.h>
 
#include <iostream>
 
#include "ListBidirected.h"
Такая ошибка вылезает в обоих случаях, когда я пытаюсь вывести list1 и когда (*list2).
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.08.2017, 22:29
Ответы с готовыми решениями:

Ссылка на неразрешенный внешний символ в функции
Доброго времени суток, задача моя состояла в том, чтобы из ранее сделанной мной практической работы...

Ссылка на неразрешенный внешний символ _main в функции
Добрый вечер. При компиляции даёт мне такую ошибку MSVCRTD.lib(crtexe.obj) : error LNK2019:...

Ссылка на неразрешенный внешний символ _WinMain@16 в функции ___tmainCRTStartup
Во всех проектах выдает одну и ту же ошибку. Пишу на c++ VS 2012. 1&gt;------ Построение начато:...

Возникает ошибка: ссылка на неразрешенный внешний символ _main в функции ___tmainCRTStartup
Помогите исправить. И удалить четные элементы из списка. #include &quot;stdafx.h&quot; #include...

3
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
23.08.2017, 22:32 2
Лучший ответ Сообщение было отмечено старвит как решение

Решение

Цитата Сообщение от старвит Посмотреть сообщение
Вот объявление в .h файле:
C++
1
friend std::ostream & operator << (std::ostream & stream_out, const ListBidirected & printing_list);
Цитата Сообщение от старвит Посмотреть сообщение
Вот его реализация в .cpp:
C++
1
std::ostream & operator <<(std::ostream & stream_out, ListBidirected & printing_list)
Найдите отличие во втором параметре.
1
0 / 0 / 1
Регистрация: 23.03.2016
Сообщений: 76
23.08.2017, 22:50  [ТС] 3
Нда, спасибо. Не скажете еще напоследок, почему в случае с const не проходит вот эта строка: printing_list.Print_list(); ? Квалификаторы типа, несовместимые с членом... Print_list(). Почему?
Что, нужно прямо-таки явно указывать, что и функция будет const?
0
nd2
3437 / 2816 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
23.08.2017, 23:35 4
Цитата Сообщение от старвит Посмотреть сообщение
Почему?
Константный объект вызывает для себя метод, значит, нужны гарантии, что этот метод не изменит константный объект.
Цитата Сообщение от старвит Посмотреть сообщение
Что, нужно прямо-таки явно указывать, что и функция будет const?
Да.
1
23.08.2017, 23:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.08.2017, 23:35
Помогаю со студенческими работами здесь

Ошибка LNK2019: ссылка на неразрешенный внешний символ _main в функции ___tmainCRTStartup
Здравствуйте! При запуске программы для использования классических блокирующих сокетов в MS Visual...

Error LNK2019: ссылка на неразрешенный внешний символ _main в функции ___tmainCRTStartup
Error LNK2019: ссылка на неразрешенный внешний символ _main в функции ___tmainCRTStartup ...

Error LNK2019: ссылка на неразрешенный внешний символ _URLDownloadToFileW@20 в функции _WinMain@16
Ошибка при добавлении этой строчки в проект URLDownloadToFile(0,...

Error LNK2019: ссылка на неразрешенный внешний символ _main в функции ___tmainCRTStartup
Компилятор выдает две ошибки 1)error LNK2019: ссылка на неразрешенный внешний символ _main в...

Ссылка на неразрешенный внешний символ _main в функции "int__cdecl invoke_main(void)
KVITANTSIA.h #pragma once #ifndef KVITANTSIA_H #define KVITANTSIA_H #define at all #include...

Ошибка линковщика(error LNK2019: ссылка на неразрешенный внешний символ _main в функции ___tmainCRTStartup)
#include &lt;iostream&gt; using namespace std; void rotor(int *a,int k,int len) { // Создаем и...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru