【发布时间】:2010-08-25 14:53:42
【问题描述】:
我正在尝试与一个类交朋友,以便它能够访问它的私有构造函数。
在 some_file.h 中
class B;
namespace some_name {
class A {
public:
A() {}
private:
A (int x) {}
friend class ::B;
};
}
在 other_file.h 中
#include "some_file"
namespace {
class B {
protected:
A* get_a(int x) { return new A(x); }
};
}
编译这段代码时,我得到 - 错误:'some_name::A::A(int)' 是私有的。
我现在,它是私人的,这就是我与 B 成为朋友的原因。 我在这里做错了什么? 你不能和你的构造函数交朋友吗? 有命名空间问题吗?
谢谢
【问题讨论】:
-
要与其他班级交朋友,只需戴上礼帽,带上你练习过的捻转手杖,以及一些带有新鲜皮革气味的漂亮鞋子。 “那个眼睛里闪烁着光芒的男人走了!”人们会发表评论,为新课程打开新机会的大门。