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

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

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

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

18.02.2010, 00:28. Просмотров 867. Ответов 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: синтаксическая ошибка: ;
Неужели нельзя чтобы функция была дружественной если она в пространстве имен?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.02.2010, 00:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос friend функция в пространстве имен (C++):

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

Перегрузка операций: friend-функция или функция-член класса - C++
Здравствуйте, меня интересует вопрос, в чем разница при перегрузке операторов через operator и friend. Вот к примеру такой код. class...

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

Не работает 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 или нет friend? - C++
Всем здравствуйте. Есть такой вопрос: при перегрузке операторов в классе(пусть будут + и = (вообще неважно, за исключением потока)) как и...

4
Nameless One
Эксперт С++
5777 / 3427 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
18.02.2010, 17:39 #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: синтаксическая ошибка: ;
Может где ";" лишняя?
0
insideone
Модератор
Автор FAQ
3643 / 922 / 51
Регистрация: 10.01.2010
Сообщений: 2,485
18.02.2010, 18:05  [ТС] #3
Цитата Сообщение от Nameless One Посмотреть сообщение
Почему же, можно. К примеру, вот такой код нормально компилируется:
а так чтобы namespace потом подключался уже после описания класса?
Может где ";" лишняя?
да нет, наверное нельзя namespace объявлять...
0
Nick Alte
Эксперт С++
1643 / 1015 / 120
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
18.02.2010, 18:35 #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 */
}
1
insideone
Модератор
Автор FAQ
3643 / 922 / 51
Регистрация: 10.01.2010
Сообщений: 2,485
18.02.2010, 18:44  [ТС] #5
Спасибо, оказывается все просто...
0
18.02.2010, 18:44
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.02.2010, 18:44
Привет! Вот еще темы с ответами:

Friend для friend - C++
всем доброго времени суток, покажу проблему на примере: Class B; class A{ int F; friend B; public: A(){F=0;}; };

Использование имен предопределенных объектов в качестве имен переменных - C++
Есть код: #include &lt;iostream&gt; using namespace std; void func() { int cout; cout &lt;&lt;cout &lt;&lt;endl; }

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

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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