Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.03.2013, 14:04   #1
220Volt
Форумчанин
 
Регистрация: 14.12.2012
Сообщений: 668
По умолчанию Дружественные объекты

Здравствуйте!
Хочу, чтобы шаблонный объект был другом другому (не шаблонному) объекту при любой специализации.
Набросал вот так:
Код:
template <typename T> 
	void fn()	{ si.data = 2; };

class S
{
friend void fn<typename>();			// fn<typename> подчеркнуто красным.
	int data;
public:
	void print() {std::cout<<this->data;}
}si;

int main()
{	
	fn<int>();
	si.print();
	int wait;
	std::cin>>wait;
	return 0;
}
Но Visual Studio подчеркивает красным, при этом все работает. Так можно?
220Volt вне форума Ответить с цитированием
Старый 30.03.2013, 14:12   #2
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

правильная запись:
template <typename> friend void fn();
Rififi вне форума Ответить с цитированием
Старый 30.03.2013, 14:15   #3
220Volt
Форумчанин
 
Регистрация: 14.12.2012
Сообщений: 668
По умолчанию

Точно, спасибо.
220Volt вне форума Ответить с цитированием
Старый 30.03.2013, 16:31   #4
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

это будет работать, но в чем суть, если не секрет?
у вас ведь ни функция, ни класс не связаны с параметром шаблона.
rrrFer вне форума Ответить с цитированием
Старый 31.03.2013, 00:32   #5
220Volt
Форумчанин
 
Регистрация: 14.12.2012
Сообщений: 668
По умолчанию

Это просто набросок, рабочий код другой.
220Volt вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В окне перемещаются объекты, отталкиваясь от стенок окна. Каждый объект имеет свой поток, перемещающий его. Встретившись, объекты ИльназВ C# (си шарп) 13 22.11.2012 19:00
Дружественные функции Leon S.Kennedy Общие вопросы C/C++ 3 05.12.2011 17:22
Дружественные числа xOffSide Общие вопросы C/C++ 4 16.08.2011 12:07
дружественные числа ensoleille Помощь студентам 2 06.07.2011 11:28