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

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

Войти
Регистрация
Восстановить пароль
 
insideone
Модератор
Автор FAQ
3638 / 916 / 49
Регистрация: 10.01.2010
Сообщений: 2,469
#1

friend функция в пространстве имен - C++

18.02.2010, 00:28. Просмотров 855. Ответов 4
Метки нет (Все метки)

C++
1
2
3
4
class Particle{
    friend bool FileManager::Particles(const char* FileName, void* Target);
/* etc */
}
Ругается что "error C2039: Particles: не является членом "FileManager""

Объявление
C++
1
namespace FileManager;
Неверно... ибо
error C2059: синтаксическая ошибка: ;
Неужели нельзя чтобы функция была дружественной если она в пространстве имен?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.02.2010, 00:28     friend функция в пространстве имен
Посмотрите здесь:

Функция в классе, находившемся в пространстве имен - C++
Добрый день. Есть такой код в файлах: 1. Buffer.h:#pragma once #ifndef _BUFFER_H_ #define _BUFFER_H_ #include <iostream> ...

Не работает friend функция - C++
Помогите разобраться почему не присваивается значение объекту из main() через setx и sety. Не меняет значение в самом классе x и y. ...

Friend функция вывода - C++
Есть класс vector.h, есть vector.cpp,вот он: using namespace std; void vector::add(const int x,const int y,const int z,vector...

friend функция С++ на MSVC 6.0 - C++
Переписал из книги С. Прата такое : class Port { private: int bootles; ....... public: ....... friend ostream &...

Не возникает ли коллизия имен, если использовать два пространства имен, и в каждом из них будут одноименные? - C++
Вот например namespace nms1 { int gh; } namespace nms2 { int gh;

Friend function - C++
Нужно сделать функции Length и Angle френдовыми для другого класса. Как это запилить? Sect.h #include <iostream> #include <math.h> ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,446
18.02.2010, 17:39     friend функция в пространстве имен #2
Почему же, можно. К примеру, вот такой код нормально компилируется:
C++
1
2
3
4
5
6
7
8
9
10
11
12
namespace myspace
{
    void func(int a)
    {
        cout << a << endl;
    }
};
 
class myclass
{
    friend void myspace::func(int a);
};

Цитата Сообщение от insideone Посмотреть сообщение
Неверно... ибо
Цитата
:error C2059: синтаксическая ошибка: ;
Может где ";" лишняя?
insideone
Модератор
Автор FAQ
3638 / 916 / 49
Регистрация: 10.01.2010
Сообщений: 2,469
18.02.2010, 18:05  [ТС]     friend функция в пространстве имен #3
Цитата Сообщение от Nameless One Посмотреть сообщение
Почему же, можно. К примеру, вот такой код нормально компилируется:
а так чтобы namespace потом подключался уже после описания класса?
Может где ";" лишняя?
да нет, наверное нельзя namespace объявлять...
Nick Alte
Эксперт С++
1608 / 1000 / 118
Регистрация: 27.09.2009
Сообщений: 1,931
Завершенные тесты: 1
18.02.2010, 18:35     friend функция в пространстве имен #4
C++
1
2
3
4
5
6
namespace FileManager { bool Particles(const char* FileName, void* Target); }
 
class Particle{
        friend bool FileManager::Particles(const char* FileName, void* Target);
/* etc */
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.02.2010, 18:44     friend функция в пространстве имен
Еще ссылки по теме:

friend function - C++
После добавления дружественной ф-ции sum( а она для сложения salary у человека, которого я выберу) класс перестал работать. Что у меня не...

Не работает friend - C++
#ifndef INTEGERLONGS_HPP_INCLUDED #define INTEGERLONGS_HPP_INCLUDED...

класс Friend - C++
Подскажите в каких случаях лучше использовать класс friend? Известно что класс friend нарушает принцип инкапсуляции, так почему же мы его...

Friend-функции - C++
из теории ясно, что friend функция — это функция, которая не является членом класса, но имеет доступ к членам класса, объявленным в полях...


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

Или воспользуйтесь поиском по форуму:
insideone
Модератор
Автор FAQ
3638 / 916 / 49
Регистрация: 10.01.2010
Сообщений: 2,469
18.02.2010, 18:44  [ТС]     friend функция в пространстве имен #5
Спасибо, оказывается все просто...
Yandex
Объявления
18.02.2010, 18:44     friend функция в пространстве имен
Ответ Создать тему
Опции темы

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