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

Шаблон класса и дружественная функция - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Динамический список http://www.cyberforum.ru/cpp-beginners/thread924577.html
Вот есть класс..совсем не замысловатый! //=============================================================================...
C++ Использование функции cpp в проекте c Есть сишный проект, понадобилось прикрепить к нему один готовый плюсовый модуль. Схематичный вид этого модуля: //module.cpp namespace module_namespace { struct params { inline... http://www.cyberforum.ru/cpp-beginners/thread924536.html
C++ Быстрота работы
Скажите, какой алгоритм на языке C++ будет выполняться быстрее, если мы не знаем величину массива: в котором я создам сразу большой массив, а буду использовать только часть. Или быстрее будет...
Как записывать в массив с 2 переменными текст C++
Как записывать в массив с 2 переменными,текст,тоесть есть массив mas, в а="привет", в b="пока";
C++ stack around the variable was corrupted масив через указатель http://www.cyberforum.ru/cpp-beginners/thread924484.html
Такая проблема - создаю масив целых чисел через функцию с использованием указателей - выскакивает данная ошибка, хотя код работает верно, почитал - что где-то идет переполнение, но как избавиться ума...
C++ Начало пути прогера Здравствуйте. Мне 19, перешел на 3 курс по специальности "Компьютерная безопасность". Уже 2 года периодически интересуюсь программированием, почитал некоторые книжки, попробовал написать код и каждый... подробнее

Показать сообщение отдельно
ViktorKozlov
133 / 125 / 2
Регистрация: 13.12.2012
Сообщений: 293
17.07.2013, 16:11
Не знаю, правильно это, или нет, но происходит все примерно так:
Здесь
C++
1
Test<int> t(10, 10), t1(10, 10);
происходит инстанцирование экземпляра Test<int>, т.е. создается класс, где T заменяется на int, соответственно, friend там выглядит примерно так:
C++
1
friend bool operator == (Test<int> &, Test<int> &);
Если есть слово friend, значит, эта функция видна в той же области видимости, где и находится класс (т.е., в нашем случае, в глобальной, где main)
И когда встречается вызов operator==(a,b), то встает выбор что вызывать, обычную функцию или шаблонную. У обычной приоритет больше, чем у шаблонной, соответственно, должна вызываться она, но она не определена, поэтому появляется LNK2019.
2
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru