作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个这样声明的类:
namespace nsp1
{
class A
{
public :
inline friend void DoSomething();
private :
A();
int a;
};
}
像这样,函数 DoSomething()
将位于命名空间 nsp1 中。有没有一种方法可以声明此函数以使其既内联友元又在命名空间之外?
最佳答案
解决方法:
namespace nsp1
{
class A;
}
inline void DoSomething(const nsp1::A & a);
namespace nsp1
{
class A
{
public :
inline friend void ::DoSomething(const nsp1::A & a);
private :
A();
int a;
};
}
inline void DoSomething(const nsp1::A & a)
{
std::cout<<a.a<<std::endl;//a.a is private!
}
关于c++ - 在不同命名空间中将函数声明为内联友元,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4602066/
我是一名优秀的程序员,十分优秀!