Форум программистов, компьютерный форум CyberForum.ru

Friend функции, определенные в теле класса - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Оптимизация программы для работы со списками http://www.cyberforum.ru/cpp/thread1370713.html
Здравствуйте! Написал код, который мне скоро сдавать по предмету. Хотелось бы узнать как его оптимизировать или упростить что-бы не стыдно было скидывать. Задание: Написать программу, используя библиотеку STL, которая создает список объектов класса Человек с полями: имя, фамилия, возраст. Показать список на экран, записать в текстовый файл. Обернуть список и дописать его в файл. #include...
C++ Отправка е-мейла Хочу написать программу которая отправляет е-мейл(ввод е-мейла отправителя и ввод е-мейла получателя вводится в коде программы), прикрепив картинку. Причем часть пути картинки может быть не известна и известно только часть имени изображения(формат так же не известен). Если можно , с комментариями (чуть -чуть) http://www.cyberforum.ru/cpp/thread1370460.html
C++ Список функций из стандартных dll библиотек (lib.exe MVS)
В общем нужен список функций (желательно и хедеров, в которых они находятся) исходя из имени стандартной библиотеки dll. Наткнулся в инете что это мне может дать lib.exe, который входит в состав Micosoft Visual Studio. Начал читать, и что то ни фига не понял как её хоть запустить... Lib.exe нашёл, сама она по себе не запускается.(пишет мол нету библиотеки mspdb80.dll) Кто может подсказать что...
Ошибка в шаблоне функции C++
Доброго времени суток. У меня проблема с функцией для чтения таблицы из файла, которая спокойно работает с типами int и float, но не хочет работать как шаблон функции. template <typename A> A**readMatrix(int a, int b, string fileName){ A**matrix = new A*; for(int i=0;i< a;i++) matrix=new A; ifstream read; read.open(fileName); for(int i=0;i< a;i++){ for(int...
C++ Декомпиляторы С++ кода http://www.cyberforum.ru/cpp/thread1369195.html
Декомпиляторы С++ кода Доброго вечера!! Перечислите поджалуста, назовите. Ссылки, это, крайне приветствую! Очень хочу поиграть с такими игрушками. А если можно, выкладывайте сюда!
C++ NetBeansIDE8 не находит команду make всем привет! возникла проблема установил NetBeansIDE8 создаю проект и при выполнении не находит команду маке... помогите кто может - кто может помогите... скриншот прилагаю ) подробнее

Показать сообщение отдельно
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
11.02.2015, 14:45     Friend функции, определенные в теле класса
Был похожий вопрос на стеке: http://stackoverflow.com/questions/2...76675#27376675
В комменте к моему ответу дали пункт стандарта, который описывает данное поведение.

Every name first declared in a namespace is a member of that namespace. If a friend declaration in a non-
local class first declares a class or function 95 the friend class or function is a member of the innermost enclosing
namespace. The name of the friend is not found by unqualified lookup (3.4.1) or by qualified lookup (3.4.3)
until a matching declaration is provided in that namespace scope (either before or after the class definition
granting friendship).
Поэтому такой пример например вполне себе заработает.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
 
struct A{ friend A* foo(A* ptr){ std::cout<<"ok";return ptr;}};
 
A* foo(A*);
 
int main(){
    
    A* ptr;
  
    foo(ptr);      // ok
    foo(nullptr); //  error: ‘foo’ was not declared in this scope
    
   return 0;
}
 
Текущее время: 18:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru