С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
iRomul
159 / 100 / 11
Регистрация: 17.10.2012
Сообщений: 480
Завершенные тесты: 1
#1

1 неразрешенных внешних элементов - C++

13.03.2013, 21:52. Просмотров 493. Ответов 6
Метки нет (Все метки)

Приветствую! При компиляции получаю ошибку:
1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,class ellipse<int>)" (??6@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@AAV01@V?$ellipse@H@@@Z) в функции _main
1>C:\Users\Station\Desktop\Dropbox\ООП\Lab11\Debug\Lab11.exe : fatal error LNK1120: 1 неразрешенных внешних элементов

Код:

main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include "support.hpp"
#include "ellipse.hpp"
 
int main() {
 
    ellipse<int> A(7, 5);
 
    operator<<(cout, A);
 
    cout << A;  
 
    system("PAUSE");
 
    return 0;
}
ellipse.hpp
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#pragma once
 
#include "support.hpp"
 
template <typename at>
class ellipse {
 
private:
 
    at      A;  //Biggest side
    at      B;
 
public:
 
                    ellipse();
                    ellipse(at, at);
                   ~ellipse();
 
        void        set_radius(at, at);
        ostream&    show_param(ostream& stream  = cout);
friend  ostream&    operator<<(ostream&, ellipse<at>);
        ellipse<at>     operator+(ellipse<at>);
        ellipse<at>     operator-(ellipse<at>);
        ellipse<at>     operator++();
        ellipse<at>&    operator=(ellipse<at>);
 
};
 
template <typename at>
ostream&    operator<<(ostream &stream, ellipse<at> obj) {
 
    return obj.show_param(stream);
 
}
 
template <typename at>
ostream&    ellipse<at>::show_param(ostream &stream) {
 
    double ecc = sqrt((double)(1 - (sqr(B) / sqr(A))));
 
    stream << "Semimajor axis = " << A          << endl;
    stream << "Semiminor axis = " << B          << endl;
    stream << "Eccentricity = "   << ecc        << endl;
    stream << "Focal lenght = "   << A * ecc    << endl;
    stream << "Focal param = "    << sqr(B) / A << endl;
 
    return stream;
 
}
 
/*Некоторые определения опущены */
В чём может быть проблема? Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.03.2013, 21:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос 1 неразрешенных внешних элементов (C++):

2 неразрешенных внешних элементов - C++
Здравствуйте, второй день не могу поправить ошибку, может кто помочь? :) #pragma once #include &lt;iostream&gt; using namespace std; ...

Ошибка неразрешенных внешних элементов - C++
Здравствуйте... Изучаю С++, а именно НАСЛЕДОВАНИЕ. Пытаюсь разобраться в примерах(один из них ниже приведен) и при запуске программы...

Error LNK1120: неразрешенных внешних элементов: 1 - C++
Подскажите где ошибка??? //файл sourse.h #include &lt;iostream&gt; using namespace std; template &lt;class T&gt; T ABS(T...

error LNK1120: 2 неразрешенных внешних элементов - C++
Всем привет! В чем может быть проблема и как её устранить! пишет вот так Ошибка 3 error LNK1120: 2 неразрешенных внешних...

Error LNK1120: неразрешенных внешних элементов: 2 - C++
Доброго времени суток. Не могу понять в чем ошибка. Подскажите, пожалуйста. Задание: Программно реализовать следующие методы сортировки...

Error LNK1120: неразрешенных внешних элементов: 1 - C++
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;locale.h&gt; #include &lt;stdlib.h&gt; #include &lt;conio.h&gt; using namespace std; void...

6
Kuzia domovenok
2078 / 1907 / 176
Регистрация: 25.03.2012
Сообщений: 6,572
Записей в блоге: 1
13.03.2013, 21:54 #2
Цитата Сообщение от iRomul Посмотреть сообщение
operator<<(cout, A);
это что такое?
0
iRomul
159 / 100 / 11
Регистрация: 17.10.2012
Сообщений: 480
Завершенные тесты: 1
13.03.2013, 22:02  [ТС] #3
Kuzia domovenok, это я попробовал таким способом вызвать работу оператора. Но есть убрать эту строчку и оставить cout << A, то ошибка всё равно останется.
0
Kuzia domovenok
2078 / 1907 / 176
Регистрация: 25.03.2012
Сообщений: 6,572
Записей в блоге: 1
13.03.2013, 22:10 #4
не уверен, но попробуй,
C++
1
friend  ostream&    operator<< <>(ostream&, ellipse<at>&);
0
iRomul
159 / 100 / 11
Регистрация: 17.10.2012
Сообщений: 480
Завершенные тесты: 1
13.03.2013, 22:15  [ТС] #5
Заработало, спасибо! Только можете пояснить, что это?
0
I.M.
566 / 549 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
13.03.2013, 22:16 #6
внутри class ellipse можно так попробовать записать:

C++
1
2
template <typename T>
friend ostream& operator<<(ostream&, ellipse<T>);
0
iRomul
159 / 100 / 11
Регистрация: 17.10.2012
Сообщений: 480
Завершенные тесты: 1
13.03.2013, 22:37  [ТС] #7
I.M., это из-за того, что функция дружественная?
И всё-таки интересно, что это за запись <>?
0
13.03.2013, 22:37
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.03.2013, 22:37
Привет! Вот еще темы с ответами:

error LNK1120: 1 неразрешенных внешних элементов - C++
/*Person.h*/ class Person { char Name; char FatherName; char SurName; int Byyyy; int Bmm; int Bdd; ...

Неразрешенных внешних элементов FBX Sdk - C++
Подключаю к проекту: #include &lt;fbxsdk.h&gt; Ругается на функцию: FbxManager *manager = FbxManager::Create(); Пишет: error LNK2019:...

Fatal error LNK1120: неразрешенных внешних элементов: 11 - C++
Добрый вечер, нужно написать программу, которая бы запускала виртуальную машину(WMware), делала снэпшот и откатывала до предыдущего...

fatal error LNK1120: 1 неразрешенных внешних элементов - C++
ту проблему исправил. #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; class rational { public: int...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.