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

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

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

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

18.02.2010, 00:28. Просмотров 845. Ответов 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++ friend функция С++ на MSVC 6.0
Friend класса C++
friend function C++
Не работает friend C++
Класс friend C++
friend class C++
C++ класс Friend
C++ Использование имен предопределенных объектов в качестве имен переменных
Friend функция вывода C++
Friend для friend C++
Не работает friend функция C++
C++ Функция в классе, находившемся в пространстве имен

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nameless One
Эксперт С++
 Аватар для Nameless One
5760 / 3409 / 255
Регистрация: 08.02.2010
Сообщений: 7,406
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
 Аватар для insideone
3634 / 912 / 48
Регистрация: 10.01.2010
Сообщений: 2,457
18.02.2010, 18:05  [ТС]     friend функция в пространстве имен #3
Цитата Сообщение от Nameless One Посмотреть сообщение
Почему же, можно. К примеру, вот такой код нормально компилируется:
а так чтобы namespace потом подключался уже после описания класса?
Может где ";" лишняя?
да нет, наверное нельзя namespace объявлять...
Nick Alte
Эксперт С++
1599 / 991 / 117
Регистрация: 27.09.2009
Сообщений: 1,910
Завершенные тесты: 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 */
}
insideone
Модератор
Автор FAQ
 Аватар для insideone
3634 / 912 / 48
Регистрация: 10.01.2010
Сообщений: 2,457
18.02.2010, 18:44  [ТС]     friend функция в пространстве имен #5
Спасибо, оказывается все просто...
Yandex
Объявления
18.02.2010, 18:44     friend функция в пространстве имен
Ответ Создать тему
Опции темы

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